2011-01-14 115 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); 
     } 
}