Слишком агрессивный бот? - PullRequest
4 голосов
/ 15 января 2010

Я создаю маленького бота, чтобы сканировать несколько сайтов.Сейчас я просто проверяю это прямо сейчас, и я попробовал 2 типа настроек:

  1. около 10 запросов каждые 3 секунды - IP был забанен, поэтому я сказал - хорошо, этослишком быстро.

  2. 2 запроса каждые 3 секунды - IP-адрес был забанен через 30 минут и просканировано более 1000 ссылок.

Это все еще слишком быстро?Я имею в виду, что мы говорим о почти 1.000.000 ссылках, если я получу сообщение, что "мы просто не хотим сканировать?"или это все еще слишком быстро?

Спасибо.

Редактировать

Повторная попытка - 2 запроса каждые 5 секунд - 30 минут и 550 ссылок спустя Iзабанят.

Я пойду с 1 запросом каждые 2 секунды, но я подозреваю, что то же самое произойдет.Думаю, мне придется связаться с администратором, если я смогу его найти.

Ответы [ 3 ]

8 голосов
/ 15 января 2010

Вот некоторые рекомендации для web crawler вежливость .

Обычно, если загрузка страницы занимает x секунд, вежливо подождать 10x-15x перед повторной загрузкой.

Также убедитесь, что вы также уважаете robots.txt.

0 голосов
/ 15 января 2010

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

Короче говоря, у вас есть 3 пути в robots.txt, которые используются для ограничения скорости запроса.

Crawl-delay: #, целое число, представляющее количество секунд в секундах ожидания между запросами.

Request-rate: # / #, числитель, представляющий, сколько страниц, и знаменатель, представляющий, сколько в секундах. то есть: 1/3 = 1 страница каждые 3 секунды.

Время посещения: #### - ####, два 4-значных числа, разделенных дефисом, которые представляют время (в формате ЧЧ: ММ по Гринвичу), в которое вы должны сканировать их сайт.

С учетом этих предложений / запросов вы можете обнаружить, что некоторые сайты не имеют ни одного из них в своем файле robots.txt, который находится под вашим контролем. Я бы посоветовал придерживаться разумной скорости не менее 1 страницы в секунду, а также ограничить количество страниц, которые вы потребляете в день.

0 голосов
/ 15 января 2010

Да. Это слишком быстро.

Обычно сканеры поддерживают скорость 1 запроса в минуту.

Честно говоря, это низкий уровень сканирования. Но через несколько минут вы можете получить очередь URL-адресов (длинный список :)). Вы можете вращаться по этому списку, пока не придет следующий ход к конкретному URL.

Если у вас есть возможность иметь какую-то распределенную архитектуру (несколько узлов с различными сетевыми подключениями, даже HyperV или VM), вы можете подумать о более высокой скорости. Различные хосты в сетке могут более эффективно захватывать содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...