2011-01-14 100 views
0

我想要获取任意搜索页面底部的页数,例如谷歌或Bing 然后我必须存储这些页面的链接以供进一步导航。获取搜索结果中的页数

这怎么可能完成?

哪种方法应采用HTMLAGILITYPACK或HttpWebRequest的或者如果有人演示如何获取标签具有特定属性,即类名或ID任何other.It将是巨大的

谷歌已经嵌套像HREF具有跨度里面,所以我们可以有URL从HREF但如何让跨度alt text文本,以便我可以用文件名保存为第1页URL为http:/blabla.com

+0

您打电话的页面是否显示页数? – 2011-01-14 19:48:14

+1

如果我会得到一分钱的任何不清楚的问题,我读... – gsharp 2011-01-14 19:50:25

回答

1

使用HTML敏捷性包:

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

结合一些代码来回回m 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); 
     } 
}