Я бачив деякі програми та веб-сайти, які використовують дані з магазину Android Play. Наприклад, програми чи сайти з найвищим рейтингом програм тощо. Але як ви можете отримати дані? Звідки я можу його проаналізувати?
Я бачив деякі програми та веб-сайти, які використовують дані з магазину Android Play. Наприклад, програми чи сайти з найвищим рейтингом програм тощо. Але як ви можете отримати дані? Звідки я можу його проаналізувати?
Відповіді:
Існує неофіційний API з відкритим кодом для Android Market, який ви можете спробувати використати для отримання необхідної інформації. Сподіваюся, це допомагає.
Застереження: я з 42matters, який надає ці дані вже на 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();
}
Для цього дуже простого варіанту використання, який повинен розпочати. Однак у той момент, коли ви захочете зробити більш цікаві речі, все ускладнюється:
Список можна продовжувати. Якщо ви не хочете робити все це самостійно, ви можете розглянути 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=uk