Ответ 1
Полученная ошибка указывает, что хост не отвечает ожидаемым образом. В этом случае, поскольку он обнаруживает, что вы пытаетесь очистить его и намеренно отключить.
Если вы попробуете код requests
с этим URL-адресом с тестового веб-сайта: http://mirror.internode.on.net/pub/test/5meg.test1
, вы увидите, что он загружается как обычно.
Чтобы обойти это, подделайте свой пользовательский агент.. Ваш агент пользователя идентифицирует ваш веб-браузер, а веб-хосты обычно проверьте его, чтобы обнаружить боты.
Используйте поле headers
, чтобы установить свой пользовательский агент. Вот пример, который сообщает веб-хосту, что вы Firefox.
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.0; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0' }
r = requests.get(url, headers=headers)
Там много других способов для веб-хостов для обнаружения ботов, но пользовательский агент является одним из самых простых и обычных проверок. Если вы хотите, чтобы ваш скребок был сложнее обнаружить, вы можете попробовать ghost.py.