2016-05-23 3 views
2

Я использую для этого python. Я собираюсь играть в магазин URL для приложения, то разобрать тело в дереве, извлечение данных с помощью XPathКак получить/сканировать все отзывы о приложениях в магазине игр или магазине приложений, я просто получаю первые 40 обзоров?

reviews = parsed.xpath('//div[@class="single-review"]//div[@class="review-body with-review-wrapper"]') 

, а затем wrting его в файле

reviewFile = rev.sub('[^A-Za-z0-9.,\' ]+', '', reviewFile.text_content().replace(' Full Review ','').strip()) 
    print('writing reviewFile'+reviewFile) 

Но с этим я могу получите только первые 40 обзоров в игровом магазине google, а не все отзывы.

После первых 40 отзывов отображаются Google Play начинает загружать больше обзоров пинга http://play.google.com/store/getreviews

+0

Можете ли вы предоставить ссылку? Кажется, что динамически созданный контент, который не может справиться без всплеска, –

+0

Вы ** проверили условия обслуживания **? –

+0

@RafaelAlmeida: Например, я пытаюсь получить все отзывы о приложении Duolingo: https://play.google.com/store/apps/details?id=com.duolingo&hl=en – n0unc3

ответ

1

Вы должны отправить запрос на запись в https://play.google.com/store/getreviews. Запрос на записи должен включать следующий заголовок:

headers = { 
    'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' 
} 

Вашего запрос (PageNumber, сортировку обзора и т.д.) должна быть urlencoded строки, как:

payload = 'reviewType=0&pageNum=' + pagenum + '&id=' + appid + '&reviewSortOrder=2&xhr=1' 

Вы можете отправить этот запрос, используя модуль запроса:

text = requests.post(url, data=payload, headers=headers).text 

Примечание: ответ на самом деле в виде списка с HTML внутри него, что вам придется разобрать d у него есть это странное )]} ' вещь в начале, от которой вам придется избавиться.

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