【问题标题】:How to extract dynamic ajax content from a web page如何从网页中提取动态 ajax 内容
【发布时间】:2012-08-24 08:32:22
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    在 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);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢祖姆。我帮助看到加载的额外内容。您能否帮助我了解如何使用 C# 代码访问该内容。这样我将从网页中提取所需的内容。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      • 2022-08-19
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 2020-05-24
      • 2012-03-02
      相关资源
      最近更新 更多