Jsoup获取动态生成的HTML

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

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

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

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