Моя цель - поковыряться на сайте macys.com, и я не могу получить доступ. Следующий код является моей первоначальной попыткой.
Попытка 1
from bs4 import BeautifulSoup
import requests
source = requests.get('https://www.macys.com').text
soup = BeautifulSoup(source, 'lxml')
print(soup)
Это привело к следующей ошибке.
<html><head>
<title>Access Denied</title>
</head><body>
<h1>Access Denied</h1>
You don't have permission to access the requested URL on this server.
<p>Reference: 18.c503d417.1587673952.4f27a98</p>
</body>
</html>
После нахождения аналога проблемы на stackoverflow, я вижу, наиболее распространенным решением является добавление заголовка. Вот основной код этой попытки.
Попытка 2
url = 'https://www.macys.com'
headers = {'User-agent': 'Mozilla/5.0'}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.content, 'lxml')
print(soup)
Вот последнее сообщение об ошибке, которое я получил. Изучив сайт, я все еще не уверен, как поступить.
UnicodeEncodeError: 'charmap' codec can't encode character '\x92' in position 586833: character maps to <undefined>
Я очень интро, поэтому я ценю любые идеи. Мне также очень любопытно, почему у меня нет разрешений для сайта Macys, так как тестирование других сайтов работает нормально.