加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:09:31 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Html Agility Pack从网站获取数据(报废) 我的问题是从我提取数据的网站加载一些页面加载几秒后的内容. 所以每当我试图从特定的Div中读取特定数据时,它就会给我null. 但在var页面我只是没有得到分区reviewBox ..因为它尚未加载. public void FetchA
我正在使用Html Agility Pack从网站获取数据(报废)

我的问题是从我提取数据的网站加载一些页面加载几秒后的内容.

所以每当我试图从特定的Div中读取特定数据时,它就会给我null.

但在var页面我只是没有得到分区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);

将在页面varibale中加载完整数据

解决方法

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

当我需要获得需要完整Web引擎解析的东西时,我通常使用WatiN.它旨在帮助单元测试实际网页,但这意味着它允许通过给定的浏览器引擎以编程方式访问网页并加载完整的文件.它带有开箱即用的IE或Firefox驱动程序,我模糊地回忆起Chrome也不难用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读