gpt4 book ai didi

asp.net - Html-Agility-Pack 未加载包含完整内容的页面?

转载 作者:行者123 更新时间:2023-12-02 10:43:28 25 4
gpt4 key购买 nike

我正在使用 Html Agility Pack 从网站获取数据(抓取)

我的问题是我正在获取数据的网站在页面加载几秒钟后加载了一些内容。

所以每当我尝试从特定 Div 读取特定数据时,它都会给我 null。

但是在var page中我只是没有得到分区reviewBox..因为它还没有加载。

public void FetchAllLinks(String Url)
{
Url = "http://www.tripadvisor.com/";
HtmlDocument page = new HtmlWeb().Load(Url);

var link_list= page.DocumentNode.SelectNodes("//div[@class='reviewBox']");

foreach (var link in link_list)
{
htmlpage.InnerHtml = link.InnerHtml;
}
}

谁能告诉我如何延迟请求

HtmlDocument page = new HtmlWeb().Load(Url);

将加载page varibale中的完整数据

最佳答案

这不是为了延迟请求。该节点由使用 DOM 的 javascript 填充,而 Html Agility Pack 是满足该要求的错误工具(它根本不是 Web 引擎,它仅加载基本 Html)。

当我需要获取需要完整 Web 引擎来解析的内容时,我通常使用 WatiN。它旨在帮助对实际网页进行单元测试,但这意味着它允许通过给定的浏览器引擎以编程方式访问网页,并将加载完整的文档。它附带了开箱即用的 IE 或 Firefox 驱动程序,我依稀记得 Chrome 也不难使用。

关于asp.net - Html-Agility-Pack 未加载包含完整内容的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18955793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com