Csharp/C#教程:在HtmlAgilityPack中运行传奇脚本共享


在HtmlAgilityPack中运行脚本

我正在尝试抓取一个如下工作的特定网页。

首先加载页面,然后它运行某种javascript来获取填充页面所需的数据。 我对这些数据很感兴趣。

如果我使用HtmlAgilityPack获取页面 – 脚本没有运行,所以我得到它本质上是一个空白页面。

有没有办法强制它运行脚本,所以我可以获取数据?

您将获得服务器返回的内容 – 与Web浏览器相同。 当然,Web浏览器会运行脚本。 Html Agility Pack只是一个HTML解析器 – 它无法解释javascript或将其绑定到文档的内部表示。 如果您想运行该脚本,则需要Web浏览器。 对您的问题的完美答案将是一个完整的“无头”Web浏览器。 这是一个包含HTML解析器,javascript解释器和模拟浏览器DOM的模型的东西,它们一起工作。 基本上,这是一个Web浏览器,除了没有渲染部分。 目前还没有完全在.NET环境中运行的东西。

最好的办法是使用WebBrowser控件,并在程序控制下实际加载并运行Internet Explorer中的页面。 这不会很快或很漂亮,但它会做你需要做的事情。

另请参阅我对类似问题的回答: 加载DOM并执行javascript,服务器端,与.Net讨论.NET中可用的技术来执行此操作。 大多数作品现在都存在,但不幸的是,它们还没有完全存在或者没有以正确的方式集成。

您可以使用Awesomium, http: //www.awesomium.com/。 它运行得相当好,但不支持x64,并且不是线程安全的。 我用它来扫描一些网站24×7并且它连续运行至少几天然后它通常会崩溃。

上述就是C#学习教程:在HtmlAgilityPack中运行脚本分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/958139.html

(0)
上一篇 2021年11月22日
下一篇 2021年11月22日

精彩推荐