Не удается собрать исходный код сайта, когда CSS отключено - PullRequest
0 голосов
/ 26 января 2020

Спасибо, что ответили на этот вопрос!

Я учу себя, как собирать веб-данные.

Цель - собрать отзывы о списках 'booking (dot) com' в пределах город. Я использую библиотеку запросов, чтобы собрать исходный код и найти полезные данные. Все отзывы об отеле отсутствуют в исходном коде объявления, однако я нашел способ получить доступ к списку отзывов об определенном отеле, рецепт ссылки работает для всех объектов. Она направлена ​​на упрощенную (без CSS) версию вкладки «Просмотр отзывов».

Проблема в том, что функция, используемая для сбора исходных кодов, возвращает пустой список со ссылками на список обзора, но отлично работает с другими адресами , Ссылки на просмотр списка работают при открытии их в браузере «вручную». Как это решить?

In: page ='https://www.booking.com/reviewlist.html?aid=679422&cc1=lt&pagename=gradiali&rows=10&amp'
download = requests.get(page)
decoded_content = download.content.decode('utf-8')
page_content = decoded_content.split('\n')
page_content

Out: ['']

Спасибо, К.

1 Ответ

0 голосов
/ 27 января 2020

Решено! Обнаружено, что функция запросов может отправлять строку агента пользователя на сервер и заставлять его «думать», что веб-страница открыта браузером.

page = hotels.iloc[0,1]
header = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
download = requests.get(page, headers=header)
decoded_content = download.content.decode('utf-8')
page_content = decoded_content.split('\n')
page_content

Если у кого-то есть такая проблема, убедитесь, что вы пытаетесь использовать другие агенты пользователя, некоторые из них работают а некоторые нет :)

...