【问题标题】:Scraping dynamically generated html inside Android app在 Android 应用程序中抓取动态生成的 html
【发布时间】:2012-06-19 01:08:50
【问题描述】:

我目前正在编写一个 Android 应用程序,除其他外,它使用来自我不拥有的网站的文本信息。此外,部分页面需要认证。

对于某些页面,我已经能够使用 BasicNameValuePairs 和带有关联对象的 HTTPClient 登录并检索 html 代码。

不幸的是,这些方法无需运行浏览器(甚至是 Android Webview)通常会运行的任何 javascript 函数即可检索网页源代码。我需要其中一些脚本正在检索的文本。

我已经完成了我的研究,但我发现的一切都是猜测并且非常令人困惑。我可以暂时忽略需要登录的页面。此外,我愿意发布任何可能对构建解决方案有用的代码;这是一个独立的项目。

从 javascript 调用中抓取 html 结果的任何具体解决方案?一个例子绝对是一流的。

【问题讨论】:

标签: javascript android html web-scraping


【解决方案1】:

最终成功:

我尝试过的其他事情:

  • HttpClient 安卓提供
    • 无法运行 javascript
  • HtmlUnit
    • 4 小时,没有成功。也很大,为我的 apk 增加了 12 mb。
  • SL4A
    • 终于编译好了。使用THIS 设置指南。被遗弃为一个简单的犀牛罐子。

可行的方法:

将发布更多结果。如果发布其他结果将添加。

注意:上面列出的许多选项相互引用。我认为 rhino 包含在 sl4a 和 htmlunit 中。另外,我认为 htmlunit 包含硒。

【讨论】:

  • Rhino 链接现在提供指向 SL4A 的指针。犀牛罐子不在那里。
【解决方案2】:

上述解决方案非常慢并且将您限制为 1 个 url(好吧,不是真的,但我敢当您的用户不耐烦地等待结果时,您可以使用 Rhino 抓取 10 个 url)。

另一种方法是使用云抓取解决方案。您不会因为下载不使用的内容而浪费手机带宽。

试试这个解决方案:Bobik Java SDK

它使您能够在几秒钟内抓取数百个网站

【讨论】:

  • 好吧,我的解决方案对于它的应用来说运行良好,但我会给你接受,因为其他人似乎发现你的答案很有用。谢谢和荣誉。
  • 谢谢。对了,我在zscraper.wordpress.com/2012/07/03/…写了一篇关于使用Bobik的优势的详细文章
  • usebobik.com 只是一个广告中心。
猜你喜欢
  • 2021-12-30
  • 2014-05-05
  • 2015-07-04
  • 2014-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多