Quiero hacer un sitio web que muestre la comparación entre Amazon y el precio del producto e-bay. ¿Cuál de estos funcionará mejor y por qué? Estoy algo familiarizado con BeautifulSoup pero no tanto con Scrapy crawler .
python
beautifulsoup
scrapy
web-crawler
Nishant Bhakta
fuente
fuente
Respuestas:
Scrapy es un marco de Web-spider o web scraper , le das a Scrapy una URL raíz para comenzar a rastrear, luego puedes especificar restricciones sobre cuántas (número de) URL quieres rastrear y buscar, etc. Es un marco completo para el raspado o rastreo web .
Mientras
BeautifulSoup es una biblioteca de análisis que también hace un muy buen trabajo al recuperar contenidos de URL y le permite analizar ciertas partes de ellos sin problemas. Solo recupera el contenido de la URL que usted proporciona y luego se detiene. No se arrastra a menos que lo coloque manualmente dentro de un bucle infinito con ciertos criterios.
En palabras simples, con Beautiful Soup puedes construir algo similar a Scrapy. Beautiful Soup es una biblioteca, mientras que Scrapy es un marco completo .
Fuente
fuente
Creo que ambos son buenos ... estoy haciendo un proyecto en este momento que usa ambos. Primero, borro todas las páginas con scrapy y las guardo en una colección mongodb usando sus canalizaciones, también descargando las imágenes que existen en la página. Después de eso, uso BeautifulSoup4 para realizar un procesamiento pos donde debo cambiar los valores de los atributos y obtener algunas etiquetas especiales.
Si no sabe qué productos de páginas desea, una buena herramienta será escasa ya que puede usar sus rastreadores para ejecutar todo el sitio web de Amazon / eBay buscando los productos sin hacer un bucle explícito.
Eche un vistazo a la escasa documentación, es muy fácil de usar.
fuente
Ambos están utilizando para analizar datos.
Scrapy :
BeautifulSoup :
Beautiful Soup es una biblioteca de Python para extraer datos de archivos HTML y XML.
Podemos usar este paquete para obtener datos del script java o cargar páginas dinámicamente.
Scrapy with BeautifulSoup es uno de los mejores combo con los que podemos trabajar para raspar contenidos estáticos y dinámicos
fuente
La forma en que lo hago es usar las API de eBay / Amazon en lugar de utilizar el Scrapy, y luego analizar los resultados con BeautifulSoup.
Las API le brindan una forma oficial de obtener los mismos datos que habría obtenido de un rastreador inestable, sin necesidad de preocuparse por ocultar su identidad, meterse con representantes, etc.
fuente
Scrapy Es un framework de raspado de web que viene con toneladas de cosas que facilitan el raspado para que podamos centrarnos solo en la lógica de rastreo. Algunas de mis cosas favoritas que scrapy cuida de nosotros están a continuación.
Configuración de proxy, agente de usuario, encabezados, etc.: scrapy nos permite establecer y rotar el proxy y otros encabezados dinámicamente.
Canalizaciones de elementos : las canalizaciones nos permiten procesar datos después de la extracción. Por ejemplo, podemos configurar la canalización para enviar datos a su servidor mysql.
Cookies: scrapy maneja automáticamente las cookies por nosotros.
etc.
Beautiful soup Beautiful Soup es un paquete de Python para analizar documentos HTML y XML . Entonces, con Beautiful soup puede analizar una página web que ya se ha descargado. BS4 es muy popular y antiguo. A diferencia de scrapy, no puedes usar una sopa hermosa solo para hacer rastreadores . Necesitará otras bibliotecas como peticiones, urllib, etc. para hacer rastreadores con bs4. Nuevamente, esto significa que necesitaría administrar la lista de URL que se están rastreando, rastrear, manejar cookies, administrar proxy, manejar errores, crear sus propias funciones para enviar datos a CSV, JSON, XML, etc. Si desea acelerar entonces tendrá que usar otras bibliotecas como multiprocesamiento .
Para resumir.
Scrapy es un marco rico que puedes usar para comenzar a escribir rastreadores sin problemas.
Beautiful soup es una biblioteca que puedes usar para analizar una página web. No se puede usar solo para raspar la web.
Definitivamente debe usar scrapy para su sitio web de comparación de precios de productos de Amazon y e-bay. Puede crear una base de datos de URL y ejecutar el rastreador todos los días (trabajos cron, apio para programar rastreos) y actualizar el precio en su base de datos. De esta manera, su sitio web siempre se extraerá de la base de datos y el rastreador y la base de datos actuarán como componentes individuales.
fuente
BeautifulSoup es una biblioteca que le permite extraer información de una página web.
Scrapy, por otro lado, es un marco, que hace lo anterior y muchas más cosas que probablemente necesite en su proyecto de raspado, como tuberías para guardar datos.
Puede consultar este blog para comenzar con Scrapy https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/
fuente
Usando scrapy puede guardar toneladas de código y comenzar con una programación estructurada. Si no le gusta ninguno de los métodos preescritos de scapy, BeautifulSoup se puede usar en lugar del método scrapy. El gran proyecto tiene ambas ventajas.
fuente
Las diferencias son muchas y la selección de cualquier herramienta / tecnología depende de las necesidades individuales.
Pocas diferencias importantes son:
fuente