AndroidPlayストアからのデータの取得[終了]


83

AndroidPlayストアのデータを使用するアプリやウェブサイトを見たことがあります。たとえば、アプリやアプリのランキングが上位のサイトなどです。しかし、どのようにしてデータを取得できますか?どこから解析できますか?


OpenDataサイトにはオープンQ&Aがあります:ここここここ
philshem 2015

@Umairいいえ。この質問は5年以上前のものです。
アフマド

回答:


47

必要な情報を取得するために使用できるAndroidマーケット向けの非公式のオープンソースAPIがあります。お役に立てれば。


以前にこのAPIを使用したと思います。問題を解決するのを手伝ってくれませんか。ここではAPIについて、私の質問は: stackoverflow.com/questions/10281232/...
アフマド

@lenikこのAPiをC#で使用するにはどうすればよいですか?
Elad Benda 2013年

こんにちは、上記のAPIを使用して必要なものを取得できましたか?私は...あまりにも参照の音楽への道を探しています
vinnybad

これはAndroid固有のものであり、手元にある使用法のほとんどはPHPのようにWebに関連しています。それはPHPを使ってこすりことができる唯一のことは、他のAPIに比べて何もありませんデバイスIDと1つのスクリーンショット..です
Hunainウスマン

このAPIを使用して、PHPを使用してGooglePlayからゲームの詳細を取得する方法。どうやって始めたらいいのかわからなかった?これが私の質問です。...私に答えてください stackoverflow.com/questions/23622898/...

21

免責事項:私は42mattersの出身で、すでにhttps://42matters.com/apiでこのデータを提供しています。お気軽にチェックするか、ご連絡ください

lenikが述べたように、GPlayからいくつかのデータを取得するのにすでに役立つオープンソースライブラリがあります。自分で作成したい場合は、Google Playアプリのページを解析してみることができますが、次の点に注意する必要があります。

  • 解析しようとしているURLがrobots.txtでブロックされていないことを確認してください-例:https//play.google.com/robots.txt
  • あなたがそれをあまり頻繁に行っていないことを確認してください、あなたがそれをやりすぎている場合、Googleはあなたを抑制し、潜在的にブラックリストに載せます。
  • 正しいUser-Agentヘッダーを送信して、実際にボットであることを示します
  • アプリのページが大きい-gzipを受け入れ、モバイル版をリクエストするようにしてください
  • GPlay WebサイトはAPIではありません。解析してもかまわないため、時間の経過とともに変化します。変更を処理するようにしてください。たとえば、期待どおりの結果が得られることを確認するためのテストを行います。

したがって、1つのページのメタデータを取得することは、ページの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();
      }      

その非常に単純なユースケースでは、始める必要があります。ただし、もっと面白いことをしたい瞬間、物事は複雑になります。

  • ロボットでの検索は禁止されています。
  • アプリのメタデータを最新の状態に保つことは困難です。220万を超えるアプリがあり、メタデータを毎日更新したい場合は、1日あたり2.2のリクエストがあり、1)すぐにブロックされ、2)多額の費用がかかります-1つのアプリが100kの場合、1日あたり220GBの悲観的なデータ転送
  • 新しいアプリをどのように発見しますか
  • 各国の価格設定、各言語の翻訳をどのように取得しますか

リストは続きます。これらすべてを自分で行いたくない場合は、42mattersAPIを検討できます。は、ルックアップと検索、上位のGoogleチャート、高度なクエリとフィルターをサポートする。そしてこれは35の言語と50か国以上に当てはまります。

[2]:


こんにちはIvanとstackoverflowへようこそ。答えてくれてありがとう。今後の回答のために、できるだけ多くの情報と詳細を提供するようにしてください。コードサンプルやチュートリアル/ドキュメントへのリンクがある場合は、それらを共有してください。この質問については、多くの情報を追加することは実際には不可能なので、この回答は問題ありません。SOでのあなたの将来の活動のための単なる提案。ありがとう
Springrbua 2014

2
ユーザーレビューの取得は、現在42matters APIではサポートされていません(それ以外の点では非常に優れています)。うまくいけば、これにより誰かがアカウントを作成して放棄する必要がなくなります。
acj 2014年

GoogleマーケットAPIは、Google Playマーケット情報の多くで最高ですが、商業的に無料ではありません:p
Hunain Usman 2014

71
このサービスは非常に高価です
mate64 2015

APIの「ユーザーもいいね」データをどのように取得しますか?グーグルと協力しますか?市場を這うことによってそれを得るのは不可能だからです...
マリアンKlühspies2015年

20

アプリをスクレイピングしてGooglePlayからデータを一覧表示する小さなNode.jsモジュールをコーディングしました: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 } ]

19
そうだと思いますが、これはすべて公開されているデータです。「ねえ、私のサイトをクロールしませんか」と言っているのは面白いグーグルでしょう。
ファクンドオラノ2015年

これをPHPで使用してWebサイトに実装するにはどうすればよいですか?
ama rullz amarullzz 2016

これはNode.jsパッケージです。単純なノードアプリを作成してこれをデータベースにダンプすることも、browserifyにバンドルしてブラウザーから実行することもできます。RESTful APIとして公開する場合は、私が作成したこのラッパーを使用することもできます。
ファクンドオラノ2016

1
ありがとう、私はこのようなツールを探していました。私は実際に、私が持っていないプレイ開発者コンソールアクセスとグーグルによるAPIがアクセストークンを要求しているサードパーティアプリのレビューを取得したかった。ノードモジュールの基盤となるアーキテクチャを知りたいのですが、Playストアからレビューを取得するにはどうすればよいですか?
Prateek Jain 2016年

1
また、githubgithub.com / s101d1 / CSPlayStoreScraperで有望なプロジェクトを見つけました。
smedasn 2017年

5

Google Playストアはこのデータを提供していないため、サイトはデータをスクレイピングしているに違いありません。


2
(長い?)100%真実ではありません。にあるXHRインターフェースの例については、PHP使用したJSONデータのフォーマットを参照してください。これはhttps://play.google.com/store/xhr/getdoc明らかにGoogle Play自体によって提供されます。ただし、返される結果を使用するには、調整が必要です(何か最初の行の4つの文字を、それらをdata =実行する前のようなものに置き換えるようなものですeval())。
Izzy 2014年

いい視点ね。文書化されていないAPIにアクセスするために人々が書いたライブラリについては知りませんでした。私の知る限り、Playストアは一般的な使用をサポートしていません。
Sparky 2014年

1
わからない。私は両方(HerokuAppと以前のコメントからのもの)を試しましたが、問題はありません。Herokuは素晴らしいJSONを提供しますが、残念ながら総投票数を逃します–他の1つはすべてを提供しますが、ひどいフォーマットで...
Izzy

1
@Izzy Linkはもう機能していません
デニス

@Dennisそれについて私ができることは何もありません、答えは削除されたようです。そうでない場合でも、そのアプリは完全になくなり、ドメイン(playstoreapi.com)も「売りに出されています」。
Izzy 2018

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.