获取搜索结果中的页数

时间:2011-01-14 19:46:43

标签: c# html

我希望在任何搜索页面底部显示google或bing的页数 然后我必须存储这些页面的链接以便进一步导航。

这怎么可以完成?

应该使用什么方法HTMLAGILITYPACK或HTTPWEBREQUEST或其他任何方法。如果有人演示如何获取具有特定属性的标记,即类名或ID

,那将会很棒。

谷歌已经嵌套了,因为href中包含了Span,所以我们可以从href获取url但是如何获取span alt text文本以便我可以将其保存为名称为第1页url http:/blabla.com

2 个答案:

答案 0 :(得分:1)

使用HTML Agility Pack:

var doc = new HtmlWeb().Load(url);
var elem = doc.GetElementById("someID");
var classedLinks = doc.DocumentNode.Descendants("img")
    .Where(e => e.GetAttributeValue("class", "").Contains("SomeClass"));

答案 1 :(得分:1)

结合SLaks中的一些代码并生成以下代码,以获取谷歌底部的导航链接

 HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
 HtmlAgilityPack.HtmlDocument doc = web.Load("http://www.google.com.pk/search?rlz=1C1SKPL_enPK414PK414&sourceid=chrome&ie=UTF-8&q=asd");

 foreach (HtmlNode table in doc.DocumentNode.Descendants("table").Where(e => e.GetAttributeValue("id", "").Contains("nav")))
 {
     foreach (HtmlNode row in table.SelectNodes("tr"))
     {
      foreach (HtmlNode cell in row.SelectNodes("th|td"))
      {
          MessageBox.Show("cell: " + cell.InnerHtml);
      }
 }