【问题标题】:Html Agility Pack. Load and scrape webpageHtml 敏捷包。加载和抓取网页
【发布时间】: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


【解决方案1】:

更容易使用 HtmlWeb。

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

【讨论】:

猜你喜欢
  • 2019-03-31
  • 1970-01-01
  • 1970-01-01
  • 2014-03-20
  • 1970-01-01
  • 2010-12-19
  • 2020-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多