2013-06-08 3 views
5

Я хочу сканировать магазин Google Play для загрузки веб-страниц всего приложения Android (все веб-страницы со следующим базовым адресом: https://play.google.com/store/apps/). Я проверил файл robots.txt в магазине воспроизведения, и он запрещает сканирование этих URL-адресов.Сканирование магазина Google Play

Кроме того, когда я просматриваю магазин Google Play, я могу видеть только верхние приложения до 3 страниц для каждой из категорий. Как я могу получить другие страницы приложений?

Если кто-то попробовал сканировать Google Play, пожалуйста, сообщите мне следующие вещи: a) Вам удалось выполнить сканирование игрового магазина. Если да, пожалуйста, дайте мне знать, как вы это сделали. b) Как сканировать скрытые страницы приложений, не отображаемые в верхних приложениях для каждой из категорий? c) Существуют ли методы загрузки приложений, а не только веб-страниц?

я уже искал вокруг и нашел следующие ссылки:

a) https://code.google.com/p/android-market-api/ 
b) https://code.google.com/p/android-marketplace-crawler/source/checkout 
c) http://mohsin-junaid.blogspot.co.uk/2012/12/how-to-install-android-marketplace.html 
d) http://mohsin-junaid.blogspot.in/2012/12/how-to-download-multiple-android-apks.html 

Спасибо!

ответ

2

Я раньше занимался этой работой на Python, вам нужна веб-автотест lib, называемый selenium, он может выполнять код Javascript и возвращать результат на Python с помощью Javascript, вы можете нажать кнопку «показать больше» на самой программы. И когда вы получаете все ссылки для одной категории, вы можете получить информацию о приложении. Простая демонстрация here. Надеюсь, полезно.

1

Google не запрещает сканирование страниц/магазинов/приложений.

Там нет упоминания о «/ магазине/приложениях» в robot.txt

См https://play.google.com/robots.txt

2

Прежде всего, в Google Play robots.txt не запрещают страниц с базой «/ магазин/приложение» ,

Если вы хотите сканировать Google Play, вам нужно будет разработать свой собственный веб-искатель, проанализировать HTML-страницу и извлечь нужные метаданные приложения (например, название, описания, цена и т. Д.). Эта тема была освещена в этом другом question. Есть библиотеки помогают с этим, например:

Чем тверже часть должна "найти" приложение-страницы, чтобы ползать. Вы можете использовать 1) Google Play Sitemap или 2) следовать ссылкам приложения, которые вы найдете на каждой странице, которую сканируете, как описано в документации Link Extractor (в случае, если вы планируете использовать Scrapy).

Другой вариант - использовать библиотеку с открытым исходным кодом на основе ProtoBuf для извлечения метаданных о приложении, здесь ссылка на проект: https://code.google.com/archive/p/android-market-api. Эта библиотека извлекает метаданные приложений из Google Play от имени действительной учетной записи Google, но в этом случае вам нужен искатель, чтобы «найти», какие приложения доступны, и планировать их получение метаданных. Этот другой проект с открытым исходным кодом может помочь вам в этом: https://code.google.com/archive/p/android-marketplace-crawler.

Если вы не хотите реализовать все это самостоятельно, вы можете использовать стороннюю управляемую службу для доступа к метаданным приложений Android через API на основе JSON.Например, 42matters.com (компания я работаю) предлагает API как для Android и IOS, чтобы получить мета-данные приложения, здесь больше деталей:

https://42matters.com/app-market-data

Для того, чтобы получить название, значок, описание , Загрузки для приложения вы можете использовать «подстановки» конечную точку как описано здесь:

https://42matters.com/docs/app-market-data/android/apps/lookup

Это пример ответа JSON для «Angry Birds Space» премиум приложения:

{ 
    "package_name": "com.rovio.angrybirdsspace.premium", 
    "title": "Angry Birds Space Premium", 
    "description": "Play over 300 interstellar levels across 10 planets...", 
    "short_desc": "The #1 mobile game of all time blasts off into space!", 
    "rating": 4.3046236038208, 
    "category": "Arcade", 
    "cat_key": "GAME_ARCADE", 
    "cat_keys": [ 
     "GAME_ARCADE", 
     "GAME", 
     "FAMILY_EDUCATION", 
     "FAMILY" 
    ], 
    "price": "$1.15", 
    "downloads": "1,000,000 - 5,000,000", 
    "version": "2.2.1", 
    "content_rating": "Everyone", 
    "promo_video": "https://www.youtube.com/embed/g6AL9YqRHaI?ps=play&vq=large&rel=0&autohide=1&showinfo=0&autoplay=1", 
    "market_update": "2015-07-03T00:00:00+00:00", 
    "screenshots": [ 
     "https://lh3.googleusercontent.com/ZmuBQzIy1G74coPrQ1R7fCeKdJmjTdpJhNrIHBOaFyM0N2EYdUPwZaQjnQUtiUDGmac=h310", 
     "https://lh3.googleusercontent.com/Xg2Aq70ZH0SnNhtSKH7xg9jCfisWgmmq3C7xQbx6YMhTVAIRqlRJeH8GYtjxapb_qR4=h310", 
     "https://lh3.googleusercontent.com/T4o5-2_UP82sj4fSSegbjrGmslNHlfvtEYuZacXMSOC55-7eyiKySw05lNF1QQGO2FeU=h310", 
     "https://lh3.googleusercontent.com/f2ennaLdivFu5cQQaVPKsRcWxB8FS5T4Bkoy3l0iPW9-GDDnTVRhvR5kz6l4m8FL1c8=h310", 
     "https://lh3.googleusercontent.com/H-9M03_-O9Df1nHr2-rUdjtk2aeBY3bAxnqSX3m2zh_aV8-K1t0qU1DxLXnK0GrDAw=h310" 
    ], 
    "created": "2012-03-22T08:24:00+00:00", 
    "developer": "Rovio Entertainment Ltd.", 
    "number_ratings": 20812, 
    "price_currency": "$", 
    "icon": "https://lh3.ggpht.com/aQaIEGrmba1ENSEgUtArdm3yhJUug7BRWlu_WaspoJusZyHv1rjlWtYqe_qRjE_Kmh1E=w300", 
    "icon_72": "https://lh3.ggpht.com/aQaIEGrmba1ENSEgUtArdm3yhJUug7BRWlu_WaspoJusZyHv1rjlWtYqe_qRjE_Kmh1E=w72", 
    "market_url": "https://play.google.com/store/apps/details?id=com.rovio.angrybirdsspace.premium&referrer=utm_source%3D42matters.com%26utm_medium%3Dapi" 
} 

Надеюсь, это поможет, в противном случае вы можете связаться со мной. Я хорошо знаю эту тему и могу указать вам в правильном направлении.

С уважением,

Andrea

+0

Я не вижу каких-либо API в 42matter, которые могут быть использованы для извлечения всех приложений. Предположим, я хочу проанализировать электронную почту всех приложений Google Play, у которых более 10 000 инсталляций и менее 5 миллионов установок. 42matter предлагает API только для получения приложения по пакету или поисковым запросом – user12384512

+0

@ user12384512 с API расширенного запроса https://42matters.com/docs/app-market-data/android/apps/advanced-query-api, который вы можете точно получить что вам нужно, установив соответственно файлы downloads_gte и downloads_lte. Надеюсь это поможет :) – agirardello

Смежные вопросы