在 Android 上抓取动态生成的页面

Posted

技术标签:

【中文标题】在 Android 上抓取动态生成的页面【英文标题】:Scrape a dynamically-produced page on Android 【发布时间】:2021-12-30 03:15:31 【问题描述】:

我目前正在开展一个项目,该项目在给定搜索查询(即谷物)的情况下抓取杂货店页面的数据,并将其显示在 Spinner 视图中。但是,我很难找到一种从页面上刮下数据的方法。我尝试使用 Jsoup,因为这是在线共识,但不支持 javascript

问题在于,大多数(如果不是全部)此类网站都使用 DOM 存储来存储最新的股票列表和价格。这就是为什么像 Jsoup 这样的库不能工作的原因,因为它们将返回 html 而不需要 JavaScript。我目前有一个通过 WebView 显示页面的原型,但我看不到获取数据的方法。

我试图研究如何解决这个问题,但如果真的存在的话,老实说要找到一个优雅的解决方案是相当令人困惑的。

如果有人可以提供帮助,或者至少为我指明正确的方向,那将不胜感激!谢谢^_^

【问题讨论】:

如何将抓取转移到服务器,使用 selenium 之类的东西进行抓取,然后让 android 应用向您的服务器询问数据? 也许这会对你有所帮助***.com/questions/17399055/… 试试这个答案。它应该让您了解如何使用 JavaScript 访问后台加载的数据。 ***.com/questions/66518872/… 【参考方案1】:

Selenium 是网页抓取的一个不错的选择。 https://www.selenium.dev/ 基本上可以访问网站的DOM。在过去的经验中,动态生成的网页可能很难抓取。 RegExp 将成为您的朋友。 https://regexone.com/

【讨论】:

以上是关于在 Android 上抓取动态生成的页面的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Python 使用动态生成的 URL 抓取页面?

如何用python爬取js动态生成内容的页面

如何抓取网页中的动态数据

java爬虫怎么抓取js动态生成的内容

抓取js动态生成数据

爬虫之抓取js生成的数据