Многие порталы блокируют соединение, если имеет неправильный заголовок «Пользователь-агент», который сообщает серверу, какой веб-браузер используется для подключения.
Инструменты Python (например, requests
) часто используют слово Python
в User-Agent
, поэтому сервер может распознать, что это не настоящий веб-браузер, и заблокировать соединение.
Если я использую текст "Mozilla/5.0"
в качестве User-Agent
, тогда я могу подключиться снова
browser = mechanicalsoup.StatefulBrowser()
browser.set_user_agent('Mozilla/5.0')
Текст "Mozilla/5.0"
- это не полный текст, используемый веб-браузером для чтения, поэтому вы можете найти более качественный текст. Или это должен быть модуль python с User-Agent из разных веб-браузеров, чтобы вы могли использовать разные значения в разные дни.