我见过一些使用Android Play商店中的数据的应用和网站。例如。具有顶级应用排名的应用或网站等。但您如何获得数据?从哪里我可以解析它?
答案 0 :(得分:46)
您可能会尝试使用非正式的open-source API for the Android Market来获取所需的信息。希望这会有所帮助。
答案 1 :(得分:19)
免责声明:我来自42个人,他们已经在https://42matters.com/api提供了这些数据,请随时查看或给我们留言。
正如lenik所提到的那样,开源库已经有助于从GPlay获取一些数据。如果您想自己构建一个,可以尝试解析Google Play应用页面,但是您应该注意以下事项:
因此,记住获取一个页面元数据是获取页面html并正确解析它的问题。使用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();
}
对于那个非常简单的用例,应该可以帮助您入门。然而,当你想要做更多有趣的事情时,事情会变得复杂:
列表还在继续。如果您不想自己完成所有这些操作,可以考虑42matters API,它支持查找和搜索,顶级Google图表,高级查询和过滤器。这适用于35种语言和50多个国家。
答案 2 :(得分:18)
我编写了一个小型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 } ]
答案 3 :(得分:5)
Google Play商店不提供此数据,因此网站必须抓取它。
答案 4 :(得分:0)