spider library crawler python web-scraping scrapy scrapyd

python - library - ScrapyRT vs Scrapyd



scrapy ruby (1)

No tienen mucho en común. Como ya ha visto, debe implementar sus arañas en scrapyd y luego programar rastreos. scrapyd es un servicio independiente que se ejecuta en un servidor donde puede implementar y ejecutar cada proyecto / araña que desee.

Con ScrapyRT usted elige uno de sus proyectos y cd a ese directorio. Luego ejecuta, por ejemplo, scrapyrt y comienza a scrapyrt arañas en ese proyecto a través de un API REST simple (y muy similar al de scrapyd). Luego, recupera los elementos rastreados como parte de la respuesta JSON.

Es una idea muy bonita y se ve rápida, delgada y bien definida. Scrapyd por otro lado es más maduro y más genérico.

Aquí hay algunas diferencias clave:

  • Scrapyd soporta múltiples versiones de arañas y múltiples proyectos. Por lo que puedo ver si desea ejecutar dos proyectos (o versiones) diferentes con ScrapyRT, tendrá que usar puertos diferentes para cada uno.
  • Scrapyd proporciona infraestructura para mantener los elementos en el servidor, mientras que ScrapyRT se los envía a usted en la respuesta, lo que, para mí, significa que deberían estar en el orden de unos pocos MB (en lugar de potencialmente GB). Del mismo modo, la forma en que se maneja el registro En scrapyd es más genérico en comparación con ScrapyRT.
  • Scrapyd (potencialmente persistente) pone en cola los trabajos y le da control sobre la cantidad de procesos de Scrapy que se ejecutan en paralelo. ScrapyRT hace algo simple que, por lo que puedo decir, es iniciar un rastreo para cada solicitud tan pronto como llegue la solicitud. Bloquear código en una de las arañas también bloqueará otras.
  • ScrapyRT requiere un argumento url que, por lo que puedo decir, invalida cualquier lógica relacionada con start_urls .

Yo diría que ScrapyRT y Scrapyd muy hábilmente no se superponen en este momento. Por supuesto que nunca sabes lo que depara el futuro.

Hemos estado usando el servicio Scrapyd por un tiempo hasta ahora. Proporciona un bonito envoltorio alrededor de un proyecto desechable y sus arañas permiten controlar las arañas a través de una API HTTP:

Scrapyd es un servicio para ejecutar arañas Scrapy.

Le permite implementar sus proyectos de Scrapy y controlar sus arañas utilizando una API HTTP JSON.

Pero, recientemente, he notado otro paquete "fresco": ScrapyRT que, según la descripción del proyecto, suena muy prometedor y similar a Scrapyd :

Servidor HTTP que proporciona API para programar arañas de Scrapy y realizar solicitudes con arañas.

¿Es este paquete una alternativa a Scrapyd ? Si es así, ¿cuál es la diferencia entre los dos?