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ć?
android
google-play
Ahmad
źródło
źródło
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.
źródło
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]:
źródło
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 } ]
źródło
Sklep Google Play nie dostarcza tych danych, więc strony muszą je po prostu skrobać.
źródło
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 jakdata =
przed wykonaniemeval()
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
źródło