【发布时间】:2013-12-18 23:30:51
【问题描述】:
我完全被难住了。经过几天和几天的搜索,我根本找不到可以用来解析动态生成的 HTML 页面的任何东西。
要求:
- 加载一个html页面,让javascript填写内容。允许查看 html。
- 解析动态生成的页面,并允许点击元素和按钮来更新页面上的内容。
几个月前的所有其他类似问题都指向同一件事,什么都不存在,或者不兼容。我很惊讶没有人想出一个可以做到这一点的库。
真的没有什么可以在启用 javascript 的情况下进行 html 解析吗?什么都有???
到目前为止,我一直在使用 JSOUP 来处理我的网页抓取,但现在我已经完成了这些页面,其他所有内容都使用 javascript,我无法从这些页面中获取任何内容。
我还阅读了有关 Android WebView javascript hacks 的信息,但它完全乏味,并且在我的许多场景中都不起作用,尤其是当您必须登录并导航到其他页面时。 HtmlUnit 绝对适合我需要的一切,但与 android 不兼容。 Selenium 看起来也不错,但是你需要安装另一个 apk,它似乎只能用于测试。
是否有任何新的开发或正在开发中?任何人有任何见解?有没有办法解决这个问题?不存在适当的库/方式吗???
【问题讨论】:
-
一个问题... 为什么需要解析 javascript 生成的页面?我会说 WebView 是你最好的选择。启用 javascript,加载页面并完成。
-
@LoïcFaure-Lacroix - 似乎目标是从服务器上抓取页面,而不是生成本地 html+javascript 用户体验(这往往可以正常工作)。确实,不幸的是,如今很多网络都不是静态 html...
-
@ChrisStratton 从安卓设备上抓取网站?如果页面是使用 javascript 生成的,那么可能有一个 API 会比解析内容更有意义。
-
当然,可能会有。然后可能没有。我看不出为什么移动设备(相对于固定设备)不能用于轻型抓取。一个特定的应用程序可能是一个网站,它从其移动版本中排除了关键信息,同时拥有一个难以在移动屏幕上导航的桌面版本。
-
我的目标是为我的大学创建一个本地应用程序。基本功能是检查成绩和作业等。该网站没有适合移动设备的版本,并且在 Android 浏览器中经常出现问题。当然,所有内容都是在页面加载后动态生成的。
标签: javascript android html parsing