Html敏捷包。加载并抓取网页

c# html-agility-pack web-scraping

这是刮刮时获取网页的最佳方式吗?

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 ,并没有得到如此mutch属性。没人喜欢SelectSingleNode 。我可以使用的唯一一个是GetElementById ,虽然有效,但我想上课。

我需要这样做吗?

var htmlBody = doc.DocumentNode.SelectSingleNode("//body");
htmlBody.SelectSingleNode("//paging");

热门答案

使用HtmlWeb更容易。

string Url = "http://something";
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(Url);



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因