Pregunta

Para el mes pasado he estado usando Scrapy para un proyecto de rastreo web que he empezado.

Este proyecto consiste en tirar hacia abajo el contenido del documento completo de todas las páginas web en un único nombre de dominio que son accesibles desde la página principal. Escribir esta usando Scrapy era bastante fácil, pero simplemente funciona demasiado lentamente. En 2-3 días sólo puedo tirar hacia abajo de 100.000 páginas.

Me he dado cuenta de que mi idea inicial que Scrapy no es para este tipo de rastreo se está revelando.

he empezado a centrarse mi vista en Nutch y Methabot con la esperanza de un mejor rendimiento. Los únicos datos que necesita almacenar durante el rastreo es el contenido completo de la página web y preferiblemente todos los enlaces en la página (pero incluso eso se puede hacer en el post-procesamiento).

Busco un rastreador que es rápido y emplea muchas solicitudes paralelas.

¿Fue útil?

Solución

Esta mi sea culpa del servidor no Scrapy. Servidor puede ser no tan rápido como usted quiere o puede ser él (o webmaster) detecta el rastreo y la velocidad límite para esta conexión / cookie. Cómo se utiliza proxy? Esto puede reducir el rastreo también. Esto puede ser Scrapy sabiduría, si va a arrastrarse demasiado intensiva puede obtener prohibición de este servidor. Por mi C ++ manuscrita rastreador puse artificialmente 1 petición por segundo límite. Pero esta velocidad es suficiente para 1 hilo (1 req * 60 segundos * 60 minutos * 24 horas = 86400 req / día). Si usted interesado puede escribir correo electrónico a whalebot.helmsman {EN} gmail.com.

Otros consejos

Scrapy le permite determinar el número de solicitudes simultáneas y el retardo entre las solicitudes en sus ajustes .

¿Sabe dónde está el cuello de botella es ?. Como whalebot.helmsman señaló, el límite no puede ser en sí Scrapy, pero en el servidor que es el rastreo.

Se debe empezar por averiguar si el cuello de botella es la red o CPU.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top