No quiero rastrear simultáneamente y bloquearme. Me gustaría enviar una solicitud por segundo.¿Cómo se puede retrasar entre cada solicitud en scrapy?
Respuesta
Hay una setting para ello:
DOWNLOAD_DELAY
defecto:
0
La cantidad de tiempo (en segundos) que el descargador debe esperar antes de la descarga de páginas consecutivas de la misma sitio web. Esto se puede usar para acelerar la velocidad de rastreo para evitar golpear demasiado a los servidores.
DOWNLOAD_DELAY = 0.25 # 250 ms of delay
Leer la documentación: https://doc.scrapy.org/en/latest/index.html
Gracias. Funcionó :) –
Si pones 'DOWNLOAD_DELAY = 1', no creo que puedas obtener 60 páginas en un minuto. También está restringido por la velocidad de descarga y todo tipo de sobrecarga. Diría que solo te da un límite superior raspante para que no llegues demasiado a los sitios de destino. –
También puede establecer 'download_delay' atributo en araña, si usted no quiere un retraso descarga global. Ver http://doc.scrapy.org/en/latest/faq.html#what-does-the-response-status-code-999-means
class S(Spider):
rate = 1
def __init__(self):
self.download_delay = 1/float(self.rate)
tasa fija una cantidad máxima de páginas puede ser descargado en un segundo.
Puede agregar una descripción o alguna explicación de lo que hace esto. Tal como está, tengo que votar esta respuesta para su eliminación. – Numeron
que los retrasos pueden fijar en 2 dice: -
Podemos especificar el retardo mientras se ejecuta el rastreador. Eg. scrapy muestra de rastreo --set DOWNLOAD_DELAY = 3 (que significa retardo de 3 segundos entre dos peticiones)
O bien podemos especificar Globaly en el settings.py DOWNLOAD_DELAY = 3
por scrapy defecto toma de retardo de 0,25 segundos entre 2 solicitudes
si desea mantener un retraso de descarga de exactamente un segundo, establecer DOWNLOAD_DELAY=1
es la manera de hacerlo.
Pero scrapy también tiene una función para establecer automáticamente los retrasos de descarga llamados AutoThrottle
. Establece automáticamente los retrasos en función de la carga del servidor de Scrapy y del sitio web que está rastreando. Esto funciona mejor que establecer un retraso arbitrario.
Lea más sobre esto en http://doc.scrapy.org/en/1.0/topics/autothrottle.html#autothrottle-extension
me he arrastrado más de 100 dominios, y no fué bloqueado con acelerador automático activado
lado DOWNLOAD_DELAY, también se puede utilizar la función de mando automático de gases de scrapy, https://doc.scrapy.org/en/latest/topics/autothrottle.html
Cambia la cantidad de retraso entre las solicitudes según el archivo de configuración. Si establece 1 para el retardo tanto inicial como máximo, esperará 1 segundo en cada solicitud.
Su propósito original es variar el tiempo de retardo para que la detección de su robot sea más difícil.
sólo tiene que ponerlo en settings.py de la siguiente manera:
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 1
AUTOTHROTTLE_MAX_DELAY = 3
- 1. ¿Se crean AppDomains para cada solicitud?
- 2. No se puede definir middleware de descarga personalizada en Scrapy
- 3. ¿Cómo se puede retrasar el tiempo de espera de las secuencias de teclas en Vim?
- 4. No se puede hacer que la tubería de Scrapy funcione
- 5. caso PrimeFaces keyup retrasar
- 6. Cómo retrasar Default.png?
- 7. Cómo retrasar el complemento de Jquery UIBlock?
- 8. HttpListener asíncrono tiene cada solicitud se recibe dos veces
- 9. ¿Cómo puedo retrasar las columnas en MySQL?
- 10. ¿Cómo puedo retrasar deliberadamente Windows?
- 11. Scrapy BaseSpider: ¿Cómo funciona?
- 12. Cómo retrasar una respuesta en ASP clásico
- 13. Scrapy Crawler en python no puede seguir los enlaces?
- 14. ASP.NET MVC: ¿Se creó el controlador para cada solicitud?
- 15. Scrapy araña no se encuentra el error
- 16. ¿Cómo se puede redirigir_para usar una solicitud HTTP diferente?
- 17. Ejecución de arañas múltiples en scrapy
- 18. jQuery Solicitud Ajax cada 30 segundos
- 19. ¿Solicitud JSON entre dominios?
- 20. ASP.NET MVC 2 VirtualPathProvider GetFile cada vez para cada solicitud
- 21. ¿Puedo retrasar jQuery addClass?
- 22. cómo sobrescribir/usar cookies en scrapy
- 23. cómo implementar un elemento anidado en scrapy?
- 24. ¿Cómo puedo retrasar una tarea usando Apio?
- 25. Cómo retrasar el arranque de frijoles primavera?
- 26. Retrasar animaciones de CSS3
- 27. cómo reducir CUDA latencia de sincronización/retrasar
- 28. No se puede importar el módulo de configuración de Scrapy o su scrapy.cfg
- 29. Cómo retrasar la ejecución de entre el siguiente en mi Javascript
- 30. ¿Puedo retrasar Django
[aquí] (http: // stackoverflow.com/questions/30404364/scrapy-delay-request) tiene una solución explícita. – hereje