【发布时间】:2014-07-23 09:44:53
【问题描述】:
我正在尝试在 c# webforms 项目中使用 HTMLAgilityPack 抓取网页。
我见过的所有解决方案都使用 WebBrowser 控件。但是,据我所知,这仅在 WinForms 项目中可用。
目前我通过此代码调用所需的页面:
var getHtmlWeb = new HtmlWeb();
var document = getHtmlWeb.Load(inputUri);
HtmlAgilityPack.HtmlNodeCollection nodes = document.DocumentNode.SelectNodes("//div[@class=\"nav\"]");
我看到的使用 WebBrowser 控件的代码示例:
if (this.webBrowser1.Document.GetElementsByTagName("html")[0] != null)
_htmlAgilityPackDocument.LoadHtml(this.webBrowser1.Document.GetElementsByTagName("html")[0].OuterHtml);
任何关于如何在加载 AJAX 后抓取页面的建议/指针,我们将不胜感激。
【问题讨论】:
-
您可以使用 Selenium 网络驱动程序进行网络报废。 HAP 只会给你页面源。 stackoverflow.com/questions/2861/options-for-html-scraping
标签: c# asp.net ajax winforms html-agility-pack