Я видел некоторые приложения и веб-сайты, которые используют данные из магазина Android Play. Например, приложения или сайты с высшим рейтингом приложений и т. Д. Но как вы можете получить данные? Откуда я могу это разобрать?
Я видел некоторые приложения и веб-сайты, которые используют данные из магазина Android Play. Например, приложения или сайты с высшим рейтингом приложений и т. Д. Но как вы можете получить данные? Откуда я могу это разобрать?
Ответы:
Для Android Market существует неофициальный API с открытым исходным кодом, который вы можете попробовать использовать для получения необходимой информации. Надеюсь это поможет.
Отказ от ответственности: я из 42matters, который уже предоставляет эти данные на https://42matters.com/api , не стесняйтесь проверить это или напишите нам.
Как упомянул Леник, существуют библиотеки с открытым исходным кодом, которые уже помогают получать некоторые данные из 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();
}
Для того очень простого варианта использования, с которого вы должны начать. Однако в тот момент, когда вы захотите заняться более интересными вещами, все усложняется:
Этот список можно продолжить. Если вы не хотите делать все это самостоятельно, вы можете рассмотреть API 42matters , который поддерживает поиск и поиск, топовые диаграммы Google, расширенные запросы и фильтры. И это для 35 языков и более чем 50 стран.
[2]:
Я написал небольшой модуль 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://play.google.com/store/xhr/getdoc
- так что он, очевидно, предлагается самим Google Play. Однако возвращаемые результаты нуждаются в некоторой корректировке, чтобы их можно было использовать (что-то например, заменить 4 символа в первой строке чем-то вроде, data =
прежде чем делать eval()
на них).
Вот расширение Google Chrome, которое позволит вам загружать свои обзоры: https://chrome.google.com/webstore/detail/my-play-store-reviews/ldggikfajgoedghjnflfafiiheagngoa?hl=en