如何从网页中提取动态ajax内容

时间:2012-08-24 08:32:23

标签: c# parsing c#-4.0 html-parsing web-scraping

我的要求是从网页中提取所需内容。该页面有一个使用ajax填充的部分。当我在页面源中查看时,它没有显示使用ajax加载的内容。部分内容将根据选中的复选框进行更改。如果我们选中“印度”复选框,则该部分将显示印度的所有详细信息。页面源仅显示默认内容,而不显示使用ajax显示的内容。我在选中复选框后检查了页面源,但它仍然只显示默认值。如何获得该部分内容,

2 个答案:

答案 0 :(得分:4)

在C#中,您可以使用HTMLAgilityPack来抓取数据,但如果使用webBrowser.DocumentText,则无法从网页加载ajax内容以获取xpath。所以在webBrowser完全控制加载网页之后。在Document_Complete方法中,您可以在下面添加一些代码:

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
this.webBrowser1.Document;
IHTMLDocument2 currentDoc =(IHTMLDocument2)this.webBrowser1.Document.DomDocument;

doc.LoadHtml(currentDoc.activeElement.innerHTML);

答案 1 :(得分:0)

在Firefox下使用Firebug。在NET选项卡下,您将看到加载的额外内容。