如何使用jsoup

时间:2018-01-09 08:52:50

标签: javascript android jsoup

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

1 个答案:

答案 0 :(得分:1)

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

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

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

1)JavaScript实际上只是运行以使用已经加载初始访问权限的信息动态呈现页面。对于能够通过第一次访问(也称为同构渲染)发送所有相关数据的现代网站经常发生这种情况。在这里,您可以获得网站上通常可用作JSON对象的数据所需信息。您可以提取JSON,然后使用JSON解析器解析它。

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