
Según tengo entendido: cuando un navegador web realiza una solicitud para ver una página, el servidor responde con el HTML. Luego, el navegador web procesa ese código HTML y envía solicitudes para cada objeto incrustado (como imágenes) que ve en el HTML al servidor en menos de un segundo (más o menos). Sin embargo, al utilizar un Web Scrapper, hago una solicitud al servidor que toma solo el HTML y no lo muestra en absoluto.
La etiqueta adecuada para Web Scrapping dice que debe limitar sus solicitudes a una por segundo como máximo para no sobrecargar el servidor.
Entonces, ¿por qué no es un problema cuando el navegador web envía una solicitud para cada objeto incrustado (múltiples solicitudes en un segundo), pero sí es un Web Scrapper el que envía varias solicitudes por segundo, solo para la fuente HTML de diferentes páginas?
Respuesta1
Las razones por las que los web scrapers (no los scrappers) utilizan un retraso son:
- para ocultar que están raspando la web y que se les prohíba el acceso a los sitios que intentan raspar (al utilizar ligeros retrasos entre páginas, se parecen más a un navegador web operado por un ser humano que navega por la red)
- por cortesía hacia el propietario del sitio web (solicitar una gran cantidad de datos en un período de tiempo muy corto podría sobrecargar el servidor y hacer que el sitio parezca no responder para otros usuarios)
Cuando su navegador (o un raspador web) solicita una página, no tiene que esperar un segundo completo entre solicitudes de objetos en la misma página. Puede solicitarlos inmediatamente; esto da como resultado una mejor experiencia de usuario (la página se carga más rápido).
Lo que un usuario "normal" no hará es solicitar diferentes páginas en un periodo de tiempo muy corto. Un usuario mirará una página, hará clic en un enlace para ir a la página siguiente, etc.
Por lo tanto, cuando un usuario navega por un sitio, habrá un retraso entre la solicitud de diferentes páginas del mismo sitio web. Es muy probable que este sea el retraso de 1 segundo que mencionaste en tu pregunta.
Obviamente, para eliminar un sitio rápidamente, los raspadores web querrán utilizar el retraso más corto posible. Utilizarán diferentes formas de acelerar el proceso (por ejemplo, raspar varios sitios en paralelo; hacer que parezca que las solicitudes provienen de varios usuarios diferentes).
Para los web scrapers, siempre habrá un equilibrio entre los motivos del retraso y la necesidad de realizar el trabajo.
Para obtener más información, consulte la entrada enWikipedia