我希望在任何搜索页面底部显示google或bing的页数 然后我必须存储这些页面的链接以便进一步导航。
这怎么可以完成?
应该使用什么方法HTMLAGILITYPACK或HTTPWEBREQUEST或其他任何方法。如果有人演示如何获取具有特定属性的标记,即类名或ID
,那将会很棒。谷歌已经嵌套了,因为href中包含了Span,所以我们可以从href获取url但是如何获取span 文本以便我可以将其保存为名称为第1页url http:/blabla.com
答案 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);
}
}