Я хотел бы установить файлы cookie для URL-адреса, прежде чем анализировать его с помощью BS4. Прежде всего, я не уверен, что использую правильный формат файлов cookie. Вот как они выглядят в Chrome DevTool:
Вот мой код:
url = 'https://example.com/item/123.html'
cookies = {'aep_usuc_f': 'site=rus&c_tp=USD®ion=IE&b_locale=ru_RU'}
s = requests.Session()
s.post('https://example.com/item/123.html', cookies=cookies)
r = s.get('https://example.com/item/123.html')
soup = BeautifulSoup(r.text, 'lxml')
Это не работает. Файлы cookie не устанавливаются. Ценю твою помощь.
Я новичок, так что не относитесь к моему коду слишком серьезно. Веб-страница по умолчанию на русском языке и имеет валюту RUB. Я хочу изменить валюту на доллары США, а затем проанализировать страницу с помощью BS4.
Поскольку вы просто хотите получить и проанализировать содержимое веб-страницы, здесь нет необходимости в запросе POST (см. эта почта). Просто используйте:
s = requests.Session()
r = s.get('https://example.com/item/123.html', cookies=cookies)
Спасибо за помощь. Но как мне передать этот запрос с куки в BS4? Я получаю сообщение об ошибке AttributeError: объект «NoneType» не имеет атрибута «текст».
Это означает, что запрос ничего не возвращает. Вы уверены, что URL-адрес веб-страницы действителен?
На моей стороне была ошибка. Теперь все работает. Спасибо большое за вашу помощь!
Сначала вы отправляете запрос POST с файлами cookie, а затем отправляете запрос GET без файлов cookie. Чего именно вы пытаетесь достичь?