【问题标题】:Is there really nothing compatible with Android that can parse javascript pages?真的没有可以解析 javascript 页面的与 Android 兼容的东西吗?
【发布时间】:2013-12-18 23:30:51
【问题描述】:

我完全被难住了。经过几天和几天的搜索,我根本找不到可以用来解析动态生成的 HTML 页面的任何东西。

要求:

  1. 加载一个html页面,让javascript填写内容。允许查看 html。
  2. 解析动态生成的页面,并允许点击元素和按钮来更新页面上的内容。

几个月前的所有其他类似问题都指向同一件事,什么都不存在,或者不兼容。我很惊讶没有人想出一个可以做到这一点的库。

真的没有什么可以在启用 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


【解决方案1】:

我认为正确的解决方案可能是bobik,目前看来可行。 Bobik 是一种基于云的服务,用于实时抓取网站。您可以使用任何您想要的语言,因为 Bobik 自己的 API 完全基于 HTTP。提交后立即处理作业,并在几秒钟内准备好结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 2021-11-08
    • 2012-12-22
    相关资源
    最近更新 更多