На какой стороне генерируется «Ошибка HTTP 403: запрос запрещен robots.txt»? - PullRequest
3 голосов
/ 07 ноября 2011

Я пробую Механизировать, чтобы упростить рутину.Мне удалось обойти эту ошибку с помощью br.set_handle_robots(False).Есть разговоры о том, как этично это использовать.Что меня интересует, так это где эта ошибка генерируется на моей стороне или на стороне сервера?Я имею в виду, выдает ли Mechanize исключение, когда видит какое-то правило robots.txt, или сервер отклоняет запрос, когда обнаруживает, что я использую инструмент автоматизации?

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011

Сервер обнаруживает пользовательский агент.Если пользовательский агент соответствует одному в robots.txt, клиент применяет правила.По умолчанию mechanize возвращает «Python-urllib / 2.7».

См. http://en.wikipedia.org/wiki/Robots_exclusion_standard

0 голосов
/ 07 ноября 2011

Сервер блокирует вашу активность с таким ответом.

Это ваш сайт? Если нет, следуйте правилам:

  1. Слушайся robots.txt файл
  2. Установите задержку между запросами, даже если robots.txt этого не требует.
  3. Укажите некоторую контактную информацию (адрес электронной почты или URL-адрес страницы) в заголовке User-Agent.

В противном случае будьте готовы к тому, что владелец сайта будет блокировать вас на основе User-Agent, IP или другой информации, которая, по его мнению, отличит вас от законных пользователей.

...