Запросы в секунду между веб-браузером и веб-скрепером

Запросы в секунду между веб-браузером и веб-скрепером

Мое понимание: когда веб-браузер делает запрос на просмотр страницы, сервер отвечает HTML. Затем веб-браузер отображает этот HTML-код, он отправляет запросы для каждого встроенного объекта (например, изображения), который он видит в HTML, на сервер менее чем за секунду (плюс-минус). Однако, используя веб-скрапер, я делаю запрос на сервер, захватывая только HTML и не отображая HTML вообще.

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

Итак, почему не является проблемой, когда веб-браузер отправляет запрос для каждого встроенного объекта (несколько запросов в течение секунды), но для веб-скрепера отправка нескольких запросов в секунду только для исходного HTML-кода для разных страниц является проблемой?

решение1

Причины, по которым веб-скрейперы (не скрапперы) используют задержку:

  • чтобы скрыть, что они занимаются парсингом веб-данных, и получить запрет на доступ к сайтам, которые они пытаются парсить (используя небольшие задержки между страницами, они больше похожи на веб-браузер, которым управляет человек, путешествующий по сети)
  • из вежливости по отношению к владельцу веб-сайта (запрос большого количества данных за очень короткий промежуток времени может перегрузить сервер и сделать так, что сайт будет казаться неотзывчивым для других пользователей сайта)

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

Чего «нормальный» пользователь не будет делать, так это запрашивать разные страницы в течение очень короткого периода времени. Пользователь посмотрит страницу, нажмет на ссылку, чтобы перейти на следующую страницу и т. д.
Поэтому, когда пользователь просматривает сайт, будет задержка между запросами разных страниц с одного и того же сайта. Это, скорее всего, задержка в 1 секунду, о которой вы упомянули в своем вопросе.

Очевидно, что для быстрого парсинга сайта веб-скрейперы захотят использовать максимально возможную задержку. Они будут использовать различные способы ускорения процесса (например, параллельно парсить несколько сайтов; сделать так, чтобы запросы поступали от нескольких разных пользователей).
Для веб-скрейперов всегда будет компромисс между причинами задержки и необходимостью выполнить работу.

Для получения более подробной информации см. запись наВикипедия

Связанный контент