scraping examples example create python web-scraping scrapy web-crawler pyspider

python - examples - scrapy vs beautifulsoup



¿Puede Scrapy ser reemplazado por pyspider? (1)

He estado usando Scrapy web-scraping framework bastante extensamente, pero recientemente descubrí que existe otro framework / sistema llamado pyspider , que, según su página de github, es nuevo, está desarrollado activamente y es popular.

La página de inicio de pyspider enumera varias cosas que se soportan de manera pyspider :

  • Potente WebUI con editor de scripts, monitor de tareas, administrador de proyectos y visor de resultados

  • Páginas de Javascript soportadas!

  • Prioridad de la tarea, reintento, publicación periódica y recuperación por antigüedad o marcas en la página de índice (como el tiempo de actualización)

  • Arquitectura distribuida

Estas son las cosas que Scrapy no proporciona, pero es posible con la ayuda de portia (para Web UI), scrapyjs (para páginas js) y scrapyd (implementación y distribución a través de API).

¿Es cierto que pyspider solo puede reemplazar todas estas herramientas? En otras palabras, ¿es pyspider una alternativa directa a Scrapy? Si no, ¿qué casos de uso cubre?

Espero no estar cruzando una línea "demasiado amplia" o "basada en la opinión".


pyspider y Scrapy tienen el mismo propósito, raspado web, pero una visión diferente sobre cómo hacerlo.

  • La araña nunca debe detenerse hasta la muerte de WWW. (La información está cambiando, los datos se están actualizando en los sitios web, Spider debería tener la capacidad y la responsabilidad de rastrear los datos más recientes. Es por eso que pyspider tiene una base de datos de URL, un potente programador, @every , age , etc.)

  • pyspider es un servicio más que un framework. (Los componentes se ejecutan en un proceso aislado, lite: all versiones también se ejecutan como servicio, no es necesario tener un entorno Python, sino un navegador, todo lo relacionado con la captura o la programación está controlado por el script a través de la API, no los parámetros de inicio o las configuraciones globales, recursos / los proyectos son gestionados por pyspider, etc ...)

  • pyspider es un sistema de araña. (Cualquier componente puede ser reemplazado, incluso desarrollado en C / C ++ / Java o en cualquier idioma, para un mejor rendimiento o mayor capacidad)

y

  • on_start vs start_url
  • Control de tráfico de token bucket vs download_delay
  • return json vs class Item
  • cola de mensajes vs Pipeline
  • base de datos url incorporada vs set
  • Persistencia vs en memoria
  • PyQuery + cualquier tercer paquete que te guste vs soporte CSS / Xpath integrado

De hecho, no me he referido mucho a Scrapy. pyspider es realmente diferente de Scrapy.

Pero, ¿por qué no lo intentas tú mismo ? pyspider también es fast , tiene una API fácil de usar y puedes probarlo sin instalarlo.