Widziałem aplikacje i strony internetowe, które używają danych ze sklepu Android Play. Np. Aplikacje lub witryny z najlepszymi rankingami aplikacji itp. Ale w jaki sposób można uzyskać dane? Skąd mogę to przeanalizować?
Widziałem aplikacje i strony internetowe, które używają danych ze sklepu Android Play. Np. Aplikacje lub witryny z najlepszymi rankingami aplikacji itp. Ale w jaki sposób można uzyskać dane? Skąd mogę to przeanalizować?
Odpowiedzi:
Istnieje nieoficjalny interfejs API typu open source dla Android Market, którego możesz użyć, aby uzyskać potrzebne informacje. Mam nadzieję że to pomoże.
Zastrzeżenie: Jestem z 42matters, który podaje te dane już na https://42matters.com/api , zapraszam do sprawdzenia lub napisz do nas.
Jak wspomniał Lenik, istnieją biblioteki open source, które już pomagają w uzyskaniu niektórych danych z GPlay. Jeśli chcesz stworzyć własną aplikację, możesz spróbować przeanalizować stronę aplikacji Google Play, ale zwróć uwagę na następujące kwestie:
Więc mając na uwadze, że uzyskanie metadanych jednej strony jest kwestią pobrania kodu HTML strony i prawidłowego jej przeanalizowania. Z JSoup możesz spróbować:
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();
}
W tym bardzo prostym przypadku użycia, od którego powinieneś zacząć. Jednak w momencie, gdy chcesz robić bardziej interesujące rzeczy, sprawy się komplikują:
I tak dalej. Jeśli nie chcesz robić tego wszystkiego sam, możesz rozważyć 42matters API , które obsługuje wyszukiwanie i wyszukiwanie, najlepsze wykresy Google, zaawansowane zapytania i filtry. I to dla 35 języków i ponad 50 krajów.
[2]:
Zakodowałem mały moduł Node.js do pobierania aplikacji i wyświetlania danych z 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);
Wyniki:
[ { 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 } ]
Sklep Google Play nie dostarcza tych danych, więc strony muszą je po prostu skrobać.
https://play.google.com/store/xhr/getdoc
- więc jest oczywiście oferowany przez samo Google Play. Jednak zwrócone wyniki wymagają pewnych korekt, aby były użyteczne (coś jak zastąpienie 4 znaków w pierwszej linii czymś takim jak data =
przed wykonaniem eval()
na nich).
Oto rozszerzenie Google Chrome, które pozwoli Ci pobrać swoje recenzje: https://chrome.google.com/webstore/detail/my-play-store-reviews/ldggikfajgoedghjnflfafiiheagngoa?hl=en