Jsoup获取动态生成的HTML

时间:2014-03-13 20:57:13

标签: java javascript parsing jsoup

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

1 个答案:

答案 0 :(得分:5)

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

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

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