获取谷歌搜索位置

时间:2011-01-07 19:47:19

标签: c# httpwebresponse

我想找到我的链接在哪个页面上找到给定的seatch字,而不导航到每个页面。我有可能使用winforms c#

让我说我必须找到链接facebook.com搜索词社交网络,并查看该链接存在哪个谷歌页面

2 个答案:

答案 0 :(得分:2)

老兄,你不应该用regexp来解析HTML。我不解释为什么在这里,有很多关于为什么在这里的信息。使用HtmlAgilityPack和XPATH获得所有结果的解决方案:

public IEnumerable<string> GetResults(string html) {
    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(html);

    foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//span[@class='tl']/h3/a"))
    {
        var value = link["href"].Value;
        yield return value;
     }
 }

这将获取与我们的XPATH //span[@class='tl']/h3/a匹配的所有链接(SERP项目,没有PPC等)并返回href属性。

获取HTML的更简单方法是使用WebClient,例如:

using(var wc = new WebClient())
{
   return wc.DownloadString("http://www.google.com/search?q=" + HttpUtility.HtmlEncode(searchTerm));
}

你显然需要自己进行下载和比较,但这应该可以帮助你。

答案 1 :(得分:0)

尝试使用http://code.google.com/apis/customsearch/v1/overview.html - 尽管每天限制为100次查询