it-swarm.com.de

Daten aus dem Android Play Store beziehen

Ich habe einige Apps und Websites gesehen, die Daten aus dem Android Play Store verwenden. Z.B. Apps oder Sites mit einem Top-Apps-Ranking usw. Wie erhalten Sie die Daten? Wo kann ich das analysieren? 

72
Ahmad

Es gibt eine inoffizielle Open-Source-API für den Android Market Sie können versuchen, die benötigten Informationen zu erhalten. Hoffe das hilft.

46
lenik

Haftungsausschluss: Ich bin von 42matters, der diese Daten bereits auf https://42matters.com/api bereitstellt.

Wie Lenik erwähnt, gibt es Open-Source-Bibliotheken, die bereits dabei helfen, Daten von GPlay zu erhalten. Wenn Sie selbst eine erstellen möchten, können Sie versuchen, die Google Play-App-Seite zu analysieren. Beachten Sie jedoch Folgendes:

  • Stellen Sie sicher, dass die URL, die Sie analysieren möchten, nicht in robots.txt blockiert ist, z. https://play.google.com/robots.txt
  • Stellen Sie sicher, dass Sie es nicht zu oft tun. Google wird Sie drosseln und möglicherweise auf eine schwarze Liste setzen, wenn Sie es zu viel tun. 
  • Senden Sie einen korrekten User-Agent-Header, um anzuzeigen, dass Sie ein Bot sind
  • Die Seite einer App ist groß. Stellen Sie sicher, dass Sie gzip akzeptieren und die mobile Version anfordern
  • Die GPlay-Website ist keine API, es ist ihnen egal, dass Sie sie analysieren, so dass sie sich mit der Zeit ändert. Stellen Sie sicher, dass Sie mit Änderungen umgehen - z. durch einen Test sicherstellen, dass Sie das bekommen, was Sie erwartet haben.

Im Hinblick auf das Abrufen von Metadaten für eine Seite müssen Sie also die HTML-Seite abrufen und sie ordnungsgemäß analysieren. Mit JSoup können Sie Folgendes versuchen:

      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();
      }      

Für diesen sehr einfachen Anwendungsfall, der Ihnen den Einstieg erleichtern sollte. In dem Moment, in dem Sie etwas Interessantes tun möchten, werden die Dinge kompliziert:

  • Suche ist in Robotern verboten. 
  • Es ist schwierig, App-Metadaten auf dem neuesten Stand zu halten. Es gibt mehr als 2,2 Millionen Apps. Wenn Sie ihre Metadaten täglich aktualisieren möchten, gibt es 2,2 Anfragen pro Tag. Diese werden sofort gesperrt 
  • Wie entdecken Sie neue Apps?
  • Wie erhalten Sie Preise für jedes Land und Übersetzungen für jede Sprache?

Die Liste geht weiter. Wenn Sie dies nicht alleine tun möchten, können Sie die 42matters-API verwenden, die Such- und Suchfunktionen, Top-Google-Diagramme, erweiterte Abfragen und Filter unterstützt. Und das für 35 Sprachen und mehr als 50 Länder.

20
Ivan

Ich habe ein kleines Node.js-Modul codiert, um App und Daten von Google Play zu kratzen: 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);

Ergebnisse:

 [ { 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 } ]
18
Facundo Olano

Der Google Play Store stellt diese Daten nicht zur Verfügung. Daher müssen die Websites nur die Daten abschreiben.

5
Sparky

Hier ist eine Google Chrome-Erweiterung, mit der Sie Ihre Bewertungen herunterladen können: https://chrome.google.com/webstore/detail/my-play-store-reviews/ldggikfajgoedghjnflfafiiheagngoa?hl=de

0
Nirvana Tikku