我想找到我的链接在哪个页面上找到给定的seatch字,而不导航到每个页面。我有可能使用winforms c#
让我说我必须找到链接facebook.com搜索词社交网络,并查看该链接存在哪个谷歌页面
答案 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次查询