shuaigezhou123456789 2019-06-01 21:51 采纳率: 0%
浏览 243

HtmlUnit爬网页不完整,缺少一些标签该如何解决?

HtmlUnit爬网页不完整,缺少一些标签该如何解决?

我用HtmlUnit中的WebClient.getPage()爬微博手机网页,但输出后发现比用浏览器查看的源码要少一部分标签,请教一下这是什么原因呢?有没有什么解决办法。图片说明图片说明

  • 写回答

1条回答 默认 最新

  • 凭空起惊雷 2023-10-13 20:16
    关注

    可能是因为HtmlUnit默认是不会执行JavaScript的,而一些网页的内容是通过JavaScript动态加载的,所以在使用WebClient.getPage()时可能会出现缺少标签的情况。解决方法是在获取页面之前,先设置WebClient的选项,让它支持JavaScript的执行。可以使用如下代码:

    WebClient webClient = new WebClient(BrowserVersion.CHROME);
    webClient.getOptions().setJavaScriptEnabled(true);
    HtmlPage page = webClient.getPage("http://www.example.com");
    

    这样就可以获取完整的网页内容了。

    评论

报告相同问题?