如何从Android应用程序中的网站获取AJAX生成的数据

时间:2014-04-14 07:08:31

标签: android ajax jsoup


我想在我的android app.i中使用jsoup和httpget以及InputStreamReader从网站中提取数据,但问题是我想要的文本显示在浏览器中并且在我获取代码时隐藏。这意味着& #34;显示页面来源"浏览器的选项不会显示该文本。我认为文本可能由ajax.can生成任何人帮助我如何获取该文本?


提前致谢

2 个答案:

答案 0 :(得分:1)

问题是ajax / ASP页面是使用在生成代码的浏览器端运行的脚本触发而动态生成的。 JSoup只是发出HTTP请求来获取HTML,但不执行许多ajax站点生成整页所需的java脚本。查看页面来源'在浏览器中将显示脚本动态生成的所有源。

为了解决这个问题,您需要升级到无头浏览器才能阅读这些网站。这可以通过Java中的一些不同工具来完成: HtmlUnit Selenium

答案 1 :(得分:1)

您可以使用网络分析工具找出您的浏览器在后台进行的请求。为了检查HTTP流量,可以使用多种工具。我推荐像HttpFox这样的浏览器扩展程序或像Fiddler 2这样的独立工具。该过程非常简单并且始终相同:浏览到站点并确保加载了所需的资源。然后,检查记录的流量。或者,明显的URL或mime类型会指向正确的资源,或者您通过检查响应来查找资源。
在大多数情况下,此过程有效。实际上很少需要在页面中运行或检查脚本。