Как заблокировать посещение Ruby Mechanize Gem?

Я начинаю использовать Gem Mechanize для Ruby, и мне интересно, может ли веб-сервер каким-либо образом обнаруживать и блокировать действия от агента Mechanize?

Если да, то каков код или шаги, чтобы заблокировать Mechanize для удаления или посещения сайта?


person Chim Kan    schedule 25.07.2012    source источник
comment
Вы всегда можете отключить свой сервер.   -  person pguardiario    schedule 26.07.2012
comment
Отключить сервер Ethernet или питание?   -  person the Tin Man    schedule 19.08.2013


Ответы (2)


Есть несколько способов обнаружить, что автоматизированный процесс попадает на их сайт:

  • Они могут проверить строку пользовательского агента.
  • Они могут видеть, что вы просите. Браузер запрашивает все изображения и CSS на HTML-странице. Механизировать не будет по умолчанию.
  • Человек делает паузу, чтобы прочитать страницу и понять, о чем она говорит. Кусок кода, если он не был запрограммирован на паузу, не будет работать на полной скорости, поэтому запросы следуют один за другим быстро.

Они не обязательно указывают на работу Mechanize, но представляют собой отпечатки кода, очищающего сайт.

Что они могут с этим поделать?

  • Забаньте этот пользовательский агент.
  • Запретите любые запросы с вашего IP-адреса, домена или подсети.
  • Запретите любые запросы с вашего IP-адреса, домена или подсети, которые происходят слишком быстро.

Есть много разных способов сделать это, в зависимости от их сервера и сетевого оборудования.

Этот вопрос не по теме для StackOverflow, и его, вероятно, следует задать на https://serverfault.com/ или https://webmasters.stackexchange.com/

person the Tin Man    schedule 25.07.2012
comment
Я делаю парсер с помощью Mechanize, вы знаете, как избежать этих блокировок? У меня есть веб-сайт, и я возвращаю мне ошибку 403 (и я пытаюсь использовать новый IP-адрес, но это то же самое) - person José Castro; 18.12.2013
comment
Лучше всего прочитать их условия обслуживания и связаться с их службой поддержки, чтобы узнать, есть ли у них условия для того, чтобы делать то, что вы хотите делать, либо через определенный сервер, либо с помощью API. Я не буду помогать вам избегать их блоков, потому что это ваша проблема с ними; Я не заинтересован в каком-либо участии, если я не знаю, что вы делаете с их страницами и / или контентом. - person the Tin Man; 18.12.2013
comment
Это общедоступная информация, но у них нет API :(, я думаю, они блокируют меня, потому что я учился, как получить веб-сайт, и я заливаю сервер xD, затем я использую таймер, но было слишком поздно. Спасибо за ваш ответ. - person José Castro; 18.12.2013
comment
Вы пробовали простую вещь и звонили им, чтобы спросить, как вы можете вернуть их расположение? - person the Tin Man; 18.12.2013

Вы можете разместить файл robots.txt и надеяться, что люди его уважают.

Если начать блокировку по строке User-Agent, они могут просто притвориться IE.

person Thilo    schedule 25.07.2012