request.get URL второй страницы результатов поиска - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь использовать request.get (url), чтобы получить ответ URL-адреса с сервера.Следующий код работает для URL первой страницы результата поиска:

r = requests.get("https://www.epocacosmeticos.com.br/perfumes")
soup = BeautifulSoup(r.text)

Однако, когда я пытаюсь использовать тот же код для URL второй страницы результата поиска, который"https://www.epocacosmeticos.com.br/perfumes#2",

r = requests.get("https://www.epocacosmeticos.com.br/perfumes#2")
soup = BeautifulSoup(r.text)

возвращает ответ первой страницы. Он игнорирует '# 2' в конце URL-адреса. Как я могу получить ответ второй страницы результата поиска?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Вы можете использовать веб-прокси, например BurpSuite , для просмотра запросов, сделанных страницей.Когда вы нажимаете на кнопку «Страница 2», это то, что отправляется в фоновом режиме:

GET /buscapagina?fq=C%3a%2f1000001%2f&PS=16&sl=f804bbc5-5fa8-4b8b-b93a-641c059b35b3&cc=4&sm=0&PageNumber=2 HTTP/1.1

Следовательно, это URL, который вам нужно будет запросить, если вы хотите правильно очиститьвеб-сайт.
BurpSuite также позволяет вам играть с запросами, поэтому вы можете попробовать изменить запрос (например, изменить 2 на 3) и посмотреть, получите ли вы ожидаемый результат.

0 голосов
/ 29 мая 2018

Кажется, этот сайт использует динамический HTML.По этой причине вторая страница результатов - это не «новая страница», а та же страница с перезагруженным содержимым поиска.

Вероятно, вы не сможете удалить только запросы.Это, вероятно, требует браузера. Selenium с PhantomJS или Headless-Chrome - хороший выбор для этой работы, и после этого вы можете использовать beautifulSoup для анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...