从Android Play商店获取数据

我看到一些使用Android Play商店数据的应用程序和网站。 例如应用程序或具有最高应用程序排名的站点等。但是,如何获取数据? 从哪里我可以parsing它?

Solutions Collecting From Web of "从Android Play商店获取数据"

Android Market有一个非官方的开源API,您可以尝试使用它获取所需的信息。 希望这可以帮助。

免责声明:我从42matters,谁提供这个数据已经在https://42matters.com/api ,随时检查出来或给我们一条线。

正如lenik提到的那样,有一些开源库已经帮助从GPlay获取一些数据。 如果您想自己创build一个,则可以尝试parsingGoogle Play应用程序页面,但是您应该注意以下事项:

  • 确保您尝试parsing的url在robots.txt中未被屏蔽 – 例如https://play.google.com/robots.txt
  • 确保你没有太频繁地这样做,如果你做得太多,Google会加油,并可能会将你列入黑名单。
  • 发送一个正确的用户代理头来实际显示你是一个机器人
  • 一个应用程序的页面很大 – 请确保您接受gzip并请求移动版本
  • GPlay网站不是一个API,它不关心你parsing它,所以它会随着时间的推移而改变。 确保你处理的变化 – 例如通过testing,以确保你得到你所期望的。

所以记住,获取一个页面的元数据是一个提取页面html和parsing正确的问题。 使用JSoup,你可以尝试:

HttpClient httpClient = HttpClientBuilder.create().build(); HttpGet request = new HttpGet(crawlUrl); HttpResponse rsp = httpClient.execute(request); int statusCode = rsp.getStatusLine().getStatusCode(); if (statusCode == 200) { String content = EntityUtils.toString(rsp.getEntity()); Document doc = Jsoup.parse(content); //parse content, whatever you need Element price = doc.select("[itemprop=price]").first(); } 

对于那个应该让你开始的非常简单的用例。 然而,当你想做更有趣的事情的时候,事情变得复杂:

  • search在机器人中被禁止。
  • 保持应用程序元数据是最新的是很难做到的。 有超过220万的应用程序,如果你想刷新他们的元数据每天有2.2个请求/天,这将1)立即被封锁,2)花费很多钱 – 悲观的220GB数据传输每天如果一个应用程序是10万
  • 你如何发现新的应用程序
  • 你如何在每个国家获得定价,每种语言的翻译

名单继续。 如果你不想自己做所有这些,你可以考虑42matters API ,它支持查找和search,谷歌图表,高级查询和filter。 而这对于35种语言和超过50个国家。

我已经编写了一个小型的Node.js模块来从Google Play中删除应用并列出数据: google-play-scraper

 var gplay = require('google-play-scrapper'); gplay.List({ category: gplay.category.GAME_ACTION, collection: gplay.collection.TOP_FREE, num: 2 }).then(console.log); 

结果:

  [ { url: 'https://play.google.com/store/apps/details?id=com.playappking.busrush', appId: 'com.playappking.busrush', title: 'Bus Rush', developer: 'Play App King', icon: 'https://lh3.googleusercontent.com/R6hmyJ6ls6wskk5hHFoW02yEyJpSG36il4JBkVf-Aojb1q4ZJ9nrGsx6lwsRtnTqfA=w340', score: 3.9, price: '0', free: false }, { url: 'https://play.google.com/store/apps/details?id=com.yodo1.crossyroad', appId: 'com.yodo1.crossyroad', title: 'Crossy Road', developer: 'Yodo1 Games', icon: 'https://lh3.googleusercontent.com/doHqbSPNekdR694M-4rAu9P2B3V6ivff76fqItheZGJiN4NBw6TrxhIxCEpqgO3jKVg=w340', score: 4.5, price: '0', free: false } ] 

Google Play商店不提供这些数据,因此这些网站必须要抓取这些数据。

这里有一个谷歌浏览器扩展,可以让您下载您的评论: https : //chrome.google.com/webstore/detail/my-play-store-reviews/ldggikfajgoedghjnflfafiiheagngoa?hl = en