我想抓取Google Play商店下载所有Android应用程序的网页(所有网页都包含以下基本网址:https://play.google.com/store/apps/) . 我检查了Play商店的robots.txt文件,但不允许抓取这些网址 .
此外,当我浏览Google Play商店时,我只能看到每个类别最多3页的热门应用程序 . 我如何获得其他应用程序页面?
如果有人尝试抓取Google Play,请告诉我以下事项:a)您是否成功抓取了Play商店 . 如果是,请告诉我你是怎么做到的 . b)如何抓取每个类别的顶级应用程序中不可见的隐藏应用程序页面? c)是否有技术可以下载应用程序而不仅仅是网页?
我已经四处搜索并找到以下链接:
a) https://code.google.com/p/android-market-api/
b) https://code.google.com/p/android-marketplace-crawler/source/checkout
c) http://mohsin-junaid.blogspot.co.uk/2012/12/how-to-install-android-marketplace.html
d) http://mohsin-junaid.blogspot.in/2012/12/how-to-download-multiple-android-apks.html
谢谢!
3 回答
首先,Google Play的robots.txt不会禁止带有"/store/apps"的网页 .
如果您想要抓取Google Play,则需要开发自己的网络抓取工具,解析HTML网页并提取您需要的应用元数据(例如 Headers ,说明,价格等) . 此主题已在此其他question中介绍 . 有图书馆帮助,例如:
Java:https://jsoup.org
Python:https://scrapy.org
更难的部分是"find"要抓取的应用页面 . 您可以使用1)Google Play Sitemap或2)按照您在抓取的每个页面中找到的应用程序链接,如Link Extractor文档中所述(如果您计划使用Scrapy) .
另一个选择是使用基于ProtoBuf的开源库来获取有关应用程序的元数据,这里是项目的链接:https://code.google.com/archive/p/android-market-api . 此库代表有效的Google帐户从Google Play获取应用元数据,但在这种情况下,您还需要一个可用的抓取工具,并安排其元数据检索 . 这个其他开源项目可以帮助你:https://code.google.com/archive/p/android-marketplace-crawler .
如果您不想自己实现所有这些,则可以使用第三方托管服务通过基于JSON的API访问Android应用元数据 . 例如,42matters.com(我工作的公司)为Android和iOS提供API以检索应用程序的元数据,更多详细信息:
https://42matters.com/app-market-data
要获取应用程序的 Headers ,图标,描述,下载,您可以使用此处记录的“查找” endpoints :
https://42matters.com/docs/app-market-data/android/apps/lookup
这是“愤怒的小鸟太空高级版”应用程序的JSON响应示例:
我希望这会有所帮助,否则请随时与我联系 . 我非常了解这个话题,可以指出你正确的方向 .
问候,
安德里亚
我之前已经完成了Python的工作,你需要的是一个名为selenium的web自动测试库,它可以执行Javascript代码并将结果返回给Python,用Javascript,你可以点击程序本身的"show more"按钮 . 当您获得单个类别页面的所有链接时,您可以获得该应用程序的一些信息 . 简单的演示here . 希望有帮助 .
Google不会禁止抓取/商店/应用页面 .
在robot.txt中没有提及“/ store / apps”
见https://play.google.com/robots.txt