Экспортируем комментарии и оценки из Google Play для анализа
сегодня в 07:23
Не все знают, но в Google Play существует вполне легальная возможность выгрузить все комментарии и оценки к своему приложению в отдельный CSV-файл, после чего заняться каким-нибудь анализом, не доступном из гугловской системы. Но делается это с помощью внешней утилиты gsutil, написанной на Python«е. Так что в этом посте будет небольшая инструкция по тому, как это сделать.Инсталлируем python 2.6 или 2.7, если его ещё нет в системе. Инструкция по установке на официальном сайте, там нет ничего сложного для любой ОС. Скачиваем и распаковываем в любую папку gsutil (прямая ссылка на zip, прямая ссылка на tar.gz) Открываем консоль в папке с gsutil и продолжаем работать в ней. (Для windows — shift+правый клик в этой папке и выбор «Открыть окно команд», пользователи более популярных и сами знают, как это сделать, раз уж сумели их установить) Выполним команду gsutil.py update для очевидных целей. Обычно в архиве уже лежит свежая версия, но бывает всякое.
Выполним команду gsutil.py config Получаем примерно такое сообщение. Что делать, опять же, очевидно — скопировать ссылку в браузер.
Перейдя по ссылке мы попадём на страницу, на которой разрешим приложению работать с нашим аккаунтом.
И скопируем код в консоль
В ответ получим ещё одно сообщение, с предложением выбрать проект по умолчанию в Google Developer Console, но это делать не обязательно, тем более, что нужного нам проекта там может просто не быть. Но что-то ввести в скрипт нужно, пустую строку он не примет. Так что введём просто »1» например и закончим работу.
На странице «Оценки и отзывы» своего приложения нужно найти идентификатор сегмента отчетов, начинающийся со строки pubsite_prod_rev_, например pubsite_prod_rev_1234567890123456789.
Теперь никто не мешает нам скачать все отчеты. Для этого достаточно выполнить команду gsutil.py -m cp gs://pubsite_prod_rev_1234567890123456789/reviews/*.* Адрес_папки_куда_копировать В нашем случае: gsutil.py -m cp gs://pubsite_prod_rev_1234567890123456789/reviews/*.* C:\Python27\texts -m — флаг копирования в несколько параллельных потоковcp — команда копирования файлов.Подробно о командах утилиты можно прочитать тут. В результате в папке мы получим кучу файлов с именами по схеме reviews_[имя_пакета_приложения]_YYYYMM (Y — год, M — месяц). Причем для всех закреплённых за вашим аккаунтом приложений сразу.
Конечно, если вам нужны отчеты только одному приложению, можно качать данные запросом вида
gsutil.py -m cp gs://pubsite_prod_rev_1234567890123456789/reviews/* com.new_program*.* C:\Python27\texts Но, думаю, принцип фильтрации и так понятен. В целом, всё уже прекрасно, но работать с пачкой отдельных файлов неудобно, так что простым питоновским скриптом склеим их в один файл. Конечно, можно было бы простой командой copy объединить файлы в один, но тогда у нас будет дублироваться заголовок, а это неприятно. import os import codecs
files = os.listdir (».») csvs = filter (lambda x: x.endswith (».csv») and x!=«all_csv.csv», files) file_write = codecs.open ('all_csv.csv', 'w','utf-16') header_writed = False for file_name in csvs: file_read = codecs.open (file_name,'r','utf-16') lines_count=0 for line in file_read: lines_count=lines_count+1 if (lines_count == 1): if (header_writed == False): header_writed = True file_write.write (line) else: file_write.write (line) file_read.close () file_write.close () Ну вот вроде бы и всё. Полученный файл в экселе выглядит примерно так:
А уж какую аналитику творить с полученным файлом — смотрите сами. :)
Список использованной литературы support.google.com/googleplay/android-developer/answer/138230#export_ratings_and_reviewsdevelopers.google.com/storage/docs/gsutil
—
896
21
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.