Скребок экрана: обойти «Ошибка HTTP 403: запрос, запрещенный robots.txt»

Есть ли способ обойти следующее?

httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt 

Единственный способ связаться с владельцем сайта (barnesandnoble.com). Я создаю сайт, который принесет им больше продаж, а не уверен, почему они откажут доступ на определенной глубине.

  • Как найти теги только с определенными атрибутами - BeautifulSoup
  • Разбор нестандартного XML (тег CDATA)
  • выбор второго ребенка в красивом супе с супом.выбрать?
  • WebScraping с BeautifulSoup или LXML.HTML
  • BeautifulSoup: получить классы css из html
  • Использование beautifulsoup для извлечения текста между разрывами строк (например, теги <br />)
  • Я использую mechanize и BeautifulSoup на Python2.6.

    надеясь на обход

  • Как найти тег с определенным текстом с помощью Beautiful Soup?
  • Исходный код Parsing (Python). Подход: прекрасный суп, lxml, разность html5lib?
  • Преобразование таблицы HTML в JSON
  • Использование BeautifulSoup для извлечения заголовка ссылки
  • Извлечение значения атрибута с помощью beautifulsoup
  • Ошибка 'ascii' кодека в beautifulsoup
  • 8 Solutions collect form web for “Скребок экрана: обойти «Ошибка HTTP 403: запрос, запрещенный robots.txt»”

    Вы можете попробовать лгать о своем пользовательском агенте (например, пытаясь поверить, что вы человек, а не робот), если вы хотите получить возможные юридические проблемы с Barnes & Noble. Почему бы вам вместо этого не связаться с отделом развития бизнеса и не убедить их в санкционировании? Они, без сомнения, просто пытаются избежать того, чтобы их сайт был соскоблен некоторыми классами роботов, таких как двигатели сравнения цен, и если вы можете убедить их, что вы не являетесь одним из них, подписываете контракт и т. Д., Они могут быть готовы сделать исключение для вас.

    «Техническое» обходное решение, которое просто нарушает их политику, как закодировано в robots.txt, – это подход с высоким уровнем юридического риска, который я бы никогда не рекомендовал. Кстати, как их robots.txt читается?

    oh вам нужно игнорировать файл robots.txt

     br = mechanize.Browser() br.set_handle_robots(False) 

    Механизм автоматически следует за robots.txt, но его можно отключить, если у вас есть разрешение, или вы считали этику через ..

    Установите флаг в своем браузере:

     browser.set_handle_equiv(False) 

    Это игнорирует файл robots.txt.

    Кроме того, убедитесь, что вы подавляете свои запросы, поэтому вы не ставите слишком много нагрузки на свой сайт. (Обратите внимание, что это также снижает вероятность того, что они обнаружат и запретят вам).

    Ошибка, которую вы получаете, не связана с пользовательским агентом. Механизировать по умолчанию проверяет директивы robots.txt автоматически, когда вы используете его для перехода на сайт. Используйте метод .set_handle_robots (false) метода mechanize.browser, чтобы отключить это поведение.

    Задайте заголовок User-Agent чтобы он соответствовал реальному пользовательскому агенту IE / FF.

    Вот моя строка useragent IE8:

     Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; AskTB5.6) 

    Код для правильного запроса:

     br = mechanize.Browser() br.set_handle_robots(False) br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] resp = br.open(url) print resp.info() # headers print resp.read() # content 

    Не обсуждая этику этого, вы можете изменить заголовки, чтобы выглядеть, например, googlebot, или же заблокирован googlebot?

    Похоже, вам нужно меньше работать, чтобы обойти robots.txt , по крайней мере, говорит эта статья . Поэтому вам может потребоваться удалить какой-либо код, чтобы игнорировать фильтр.

    Python - лучший язык программирования в мире.