Получение данных из Android Play Store

Я видел некоторые приложения и веб-сайты, которые используют данные из магазина Android Play. Например, приложения или сайты с высоким рейтингом приложений и т. Д. Но как вы можете получить данные? Откуда я могу его разобрать?

Solutions Collecting From Web of "Получение данных из Android Play Store"

Существует неофициальный API с открытым исходным кодом для Android Market, который вы можете попытаться использовать для получения необходимой вам информации. Надеюсь это поможет.

Отказ от ответственности: я из 42matters, который предоставляет эти данные уже на https://42matters.com/api , не стесняйтесь проверить это или оставить нам строку.

Как упоминал Леник, существуют библиотеки с открытым исходным кодом, которые уже помогают получить некоторые данные из GPlay. Если вы хотите создать его самостоятельно, вы можете попытаться проанализировать страницу приложения Google Play, но вы должны обратить внимание на следующее:

  • Убедитесь, что URL-адрес, который вы пытаетесь проанализировать, не заблокирован в файле robots.txt – например https://play.google.com/robots.txt
  • Убедитесь, что вы не делаете это слишком часто, Google будет дросселировать и, возможно, черный список, если вы делаете это слишком много.
  • Отправьте правильный заголовок User-Agent, чтобы на самом деле показать, что вы бот
  • Страница приложения большая – убедитесь, что вы принимаете gzip и запрашиваете мобильную версию
  • Сайт GPlay – это не API, вам все равно, что вы его разобрали, чтобы он со временем менялся. Убедитесь, что вы обрабатываете изменения – например, имея тест, чтобы убедиться, что вы получили то, что ожидали.

Поэтому, имея в виду, что метаданные одной страницы – это выборка 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(); } 

Для этого очень простой случай использования, который должен вас начать. Однако, как только вы захотите сделать более интересные вещи, все усложняется:

  • Поиск запрещен в роботах.
  • Невозможно выполнить обновление метаданных приложения. Есть более 2,2 млн приложений, если вы хотите обновлять свои метаданные каждый день, есть 2,2 запроса / день, что будет 1) немедленно заблокировано, 2) стоит много денег – пессимистическая передача 220 гб в день, если одно приложение составляет 100 тыс.
  • Как вы открываете новые приложения
  • Как вы получаете цены в каждой стране, переводы каждого языка

Список можно продолжить. Если вы не хотите делать все это самостоятельно, вы можете рассмотреть API 42matters , который поддерживает поиск и поиск, верхние диаграммы Google, расширенные запросы и фильтры. И это для 35 языков и более 50 стран.

Я закодировал небольшой модуль 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 Store не предоставляет эти данные, поэтому сайты должны просто очищать его.

Вот расширение Chrome для Chrome, которое позволит вам загружать ваши отзывы: https://chrome.google.com/webstore/detail/my-play-store-reviews/ldggikfajgoedghjnflfafiiheagngoa?hl=ru