如何使用jsoup用js解析android中的网页内容

硼砂

如何使用js结果解析Android中的HTML页面?主要问题是,如果我只是使用Jsoup.connect()方法,则Document对象将不包含js结果,因为js需要一些时间才能运行。是否可以延迟连接?

卢克施

正如评论中已经提到的那样,JSOUP不运行任何JavaScript。为此,您需要一个JavaScript解释器。

由于您提到要阅读的页面需要花费一些时间来呈现,因此显然您实际上需要运行JavaScript来呈现DOM。

但是,如果您查看页面的源代码,则可能可以弄清楚JavaScript是如何实际呈现页面的。我看到两种可能性:

1)实际上,JavaScript只是运行以动态呈现页面,其中包含初始访问已加载的信息。对于那些能够通过首次访问(即同构渲染)发送所有相关数据的现代网站,这种情况经常发生。在这里,您可以获取所需的数据信息,这些数据通常在网站上以JSON对象的形式提供。您可以提取JSON,然后使用JSON解析器进行解析。

2)JavaScript实际上实际上异步加载了一些数据。在这种情况下,您可以标识这些http请求并使用JSOUP来获取此数据。通常,此类数据为JSON格式,因此在这种情况下,使用JSON解析器读取相关部分也很有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章