开发者

keyword position in google search using C#

开发者 https://www.devze.com 2023-01-11 20:47 出处:网络
I am usi开发者_如何学Cng a website to find a keyword position in google search ... i have two text boxes(one textbox for getting URL and another textbox for getting Keyword) and

I am usi开发者_如何学Cng a website to find a keyword position in google search ... i have two text boxes(one textbox for getting URL and another textbox for getting Keyword) and ,one label(to display the position of the keyword in the URl) and one button in my page... When i clicked that button it have to get the URL and Keyword and search the keyword in google and give the position.... i got that URL and Keyword and it s searching in the google properly but i have not get that Position...

How shall i get that position? Anyone Tell me the solutionof this... My code is

 protected void btnSubmit_Click(object sender, EventArgs e)
 {
    string strUrl = txtUrl.Text;
    Uri newUri = new Uri("http://www.Yahoo.com");
    int I = GetPosition(newUri, txtKeyword.Text);
 }


public static int GetPosition(Uri url, string searchTerm)
{
    string raw = "http://www.google.com/search?num=39&q={0}&btnG=Search";
    string search = string.Format(raw, HttpUtility.UrlEncode(searchTerm));

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(search);
    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    {
        using (StreamReader reader = new StreamReader(response.GetResponseStream(),    Encoding.ASCII))
        {
            string html = reader.ReadToEnd();
            return FindPosition(html, url);
        }
    }
}


private static int FindPosition(string html, Uri url)
{
    string lookup = "(<a class=l href=\")(\\w+[a-zA-Z0-9.-?=/]*)";
    MatchCollection matches = Regex.Matches(html, lookup);

    for (int i = 0; i < matches.Count; i++)
    {
        string match = matches[i].Groups[2].Value;
        if (match.Contains(url.Host))
            return i + 1;
    }

    return 0;
}

Here i get that matches.count always 0 so it always returns Zero... How can i get matches.count


In the HTML for a Google results list, the href attribute for each result link appears before the class attribute, not after it.

Try this:

string lookup = "(<a href=\")(\\w+[a-zA-Z0-9.-?=/]*)\" class=l";
0

精彩评论

暂无评论...
验证码 换一张
取 消