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
vsstart_url
- Control de tráfico de token bucket vs
download_delay
-
return json
vsclass 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.