我可以连接到大多数网站并获得 HTML 就好了,但是当尝试连接到大多数内容是在使用 JavaScript 加载初始页面后生成的网站时,它没有获得任何数据。有没有办法用 Jsoup 做到这一点,或者它不支持它?
Jsoup 获取动态生成的 HTML
IT技术
java
javascript
parsing
jsoup
2021-02-17 21:37:00
1个回答
JSoup 包含一些基本的连接处理,但它不是 Web 浏览器。它擅长解析静态 html 内容。它不运行任何 javascript,所以你运气不好。但是,您可能会遵循不同的选项:
您可以分析要检索的页面,并了解您感兴趣的内容是如何加载的。通常,挖掘加载内容的原始来源并使用它并不难。这种方法的好处是您无需额外的库即可获得所需的内容,并且检索速度会很快。
您可以使用(完整)浏览器并自动加载页面。一个非常好的工具是selenium webdriver与 headless webkit 浏览器phantomjs结合使用。但是,这需要您的项目中使用额外的软件和额外的库,并且运行速度会比第一个解决方案慢得多。