这是抓取时获取网页的最佳方式吗?
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");
答案 0 :(得分:70)
使用HtmlWeb更容易。
string Url = "http://something";
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(Url);