【发布时间】:2012-05-11 20:24:26
【问题描述】:
这是在抓取时获取网页的最佳方式吗?
HttpWebRequest oReq = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)oReq.GetResponse();
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(resp.GetResponseStream());
var element = doc.GetElementbyId("//start-left");
var element2 = doc.DocumentNode.SelectSingleNode("//body");
string html = doc.DocumentNode.OuterHtml;
我已经看到HtmlWeb().Load 获取网页。这是加载和抓取网页的更好选择吗?
好的,我会试试的。
HtmlDocument doc = web.Load(url);
现在当我得到我的doc 并且没有得到这么多的属性时。没有人喜欢SelectSingleNode。我唯一可以使用的是GetElementById,这很有效,但我想上课。
我需要这样做吗?
var htmlBody = doc.DocumentNode.SelectSingleNode("//body");
htmlBody.SelectSingleNode("//paging");
【问题讨论】:
-
您也可以堆叠/附加节点选择。例如:var htmlBody = doc.DocumentNode.SelectSingleNode("//body").SelectSingleNode("//paging");
标签: c# web-scraping html-agility-pack