【问题标题】:Jsoup get dynamically generated HTMLJsoup 获取动态生成的 HTML
【发布时间】:2014-04-18 21:39:47
【问题描述】:

我可以连接到大多数网站并很好地获取 HTML,但是当尝试连接到大部分内容是在使用 JavaScript 加载初始页面后生成的网站时,它不会获取任何数据。有什么方法可以用 Jsoup 做到这一点还是不支持它?

【问题讨论】:

  • JSoup 是解析器,而不是浏览器引擎。您需要使用一些网络驱动程序,例如 selenium

标签: java javascript parsing jsoup


【解决方案1】:

JSoup 包含一些基本的连接处理,但它不是 Web 浏览器。它擅长解析静态 html 内容。它不运行任何javascript,所以你不走运。但是,您可能会遵循不同的选择:

  1. 您可以分析您要检索的页面,并了解您感兴趣的内容是如何加载的。通常,挖掘加载内容的原始来源并使用它并不是很困难。这种方法的好处是您无需额外的库即可获得所需的内容,并且检索速度很快。

  2. 您可以使用(完整)浏览器并自动加载页面。一个非常好的工具是 selenium webdriver 结合无头 webkit 浏览器 phantomjs。但是,这需要在您的项目中使用额外的软件和额外的库,并且运行速度会比第一个解决方案慢得多。

【讨论】:

    猜你喜欢
    • 2012-09-19
    • 2014-04-26
    • 2016-09-04
    • 1970-01-01
    • 2013-07-04
    • 2018-05-21
    • 1970-01-01
    • 2010-12-06
    相关资源
    最近更新 更多