Web Scraper: ограничение количества запросов в минуту/час на одном домене?

Я работаю с библиотекарем над реструктуризацией архива цифровых фотографий его организации.

Я создал робота Python с помощью Mechanize и BeautifulSoup, чтобы извлечь из коллекции около 7000 плохо структурированных и слегка неправильных/неполных документов. Данные будут отформатированы для электронной таблицы, которую он сможет использовать для исправления. Прямо сейчас я оцениваю общее количество HTTP-запросов в 7500 для создания поискового словаря и последующего сбора данных, не считая ошибок и исправлений в моем коде, а затем еще больше по мере продвижения проекта.

Я предполагаю, что есть какое-то встроенное ограничение на то, как быстро я могу делать эти запросы, и даже если это не так, я даю своему роботу задержки, чтобы вести себя вежливо с перегруженным веб-сервером (ами). Мой вопрос (по общему признанию, невозможно ответить с полной точностью) о том, как быстро я могу делать HTTP-запросы, прежде чем столкнусь со встроенным ограничением скорости?

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

Примечание. Я понимаю, что это не лучший способ решения нашей проблемы (реструктуризация/организация базы данных), но мы создаем доказательство концепции, чтобы убедить начальство доверять моим друг с копией базы данных, из которой он будет выполнять бюрократические процедуры, необходимые для того, чтобы я мог работать непосредственно с данными.

Они также дали нам API для фида ATOM, но для поиска требуется ключевое слово и кажется бесполезным для задачи пошагового просмотра каждой фотографии в конкретной коллекции.


person Cody Hess    schedule 14.10.2011    source источник
comment
Я предлагаю вам делать один запрос в секунду и запускать его ночью или на выходных. Тогда вам следует спастись.   -  person janoliver    schedule 15.10.2011


Ответы (1)


Для HTTP нет встроенного ограничения скорости. Большинство распространенных веб-серверов изначально не настроены на ограничение скорости. Если ограничение скорости установлено, оно почти наверняка было установлено администраторами веб-сайта, и вам придется спросить их, что они настроили.

Некоторые поисковые системы учитывают нестандартное расширение файла robots.txt, которое предлагает ограничение скорости, поэтому проверьте наличие Crawl-delay в robots.txt.

HTTP имеет ограничение на одновременное подключение в два подключения, но браузеры уже начали его игнорировать, и предпринимаются усилия по пересмотру этой части стандарта, поскольку она сильно устарела.

person Jim    schedule 14.10.2011
comment
robots.txt (= ОТЛИЧНО! Crawl-delay: 10 -- Я так понимаю, это означает 10 секунд? - person Cody Hess; 15.10.2011