Как интерпретируются задержки при сканировании из robots.txt? - PullRequest
0 голосов
/ 10 декабря 2018

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

Допустим, задержка сканирования, определенная в файле robots.txt, составляет 10 секунд.Как это интерпретируется?Я построил свой скребок, чтобы перейти на страницу каждой категории продукта, а затем взять список всех продуктов из каждой категории, а затем перейти на страницу каждого отдельного продукта и просмотреть цену и технические характеристики.

Нужно ли задерживать каждый запрос страницы на 10 секунд?Или процесс запуска моего сценария когда-то считался одним действием, и мне просто нужно ждать 10 секунд каждый раз, когда я его запускаю?

Если это первое, то как кто-то может собирать большие объемы данных с сайта?Если имеется 5000 страниц продукта, и я задерживаю каждую на 10 секунд, тогда мой сценарий будет занимать 14 часов за один запуск.

Что если я разделю работу между несколькими сценариями?Каждый отдельный сценарий должен следовать правилу сам по себе или все запросы от определенного IP-адреса должны следовать правилу коллективно?

Я не хочу, чтобы мой IP-адрес был заблокирован или случайно заблокирован любой сайт.Заранее спасибо за любые ответы.

1 Ответ

0 голосов
/ 10 декабря 2018

Добро пожаловать в переполнение стека.

Это означает, что вы должны установить задержку в 10 секунд между каждым из запросов к этому конкретному сайту.Для получения дополнительной информации, вы можете прочитать эту статью

https://www.contentkingapp.com/academy/robotstxt/#crawl-delay

Предпочтительно, вы должны использовать некоторые рамки для сканирования сайтов, такие как scrapy .Они предоставляют опцию задержки загрузки и гарантируют, что механизм сканирования задерживает каждый запрос на столько времени.

...