2024 raspado web con beautifulsoup, solicitudes y python

Llevarle a través de cómo construir un bot de raspado web usando Beautifulsoup, solicitudes, sublime y Python. Échale un vistazo

En el Capítulo 1 anterior, analizamos cómo un especialista en marketing digital puede beneficiarse de los superpoderes de Python. Aprendimos por qué lo necesita y cómo instalar y configurar la última versión de Python para Mac OS. Como ya sabrá, uno de los beneficios más esenciales de Python para los especialistas en marketing digital es extraer datos web y actualizarlos automáticamente.

Entonces, en este tutorial de Python, hablaré sobre cómo configurar un entorno para escribir scripts de Python con el fin de extraer datos objetivos de sitios web. Este artículo no entra en detalles sobre la introducción de los métodos de Python, la escritura de código y la alimentación de datos a una hoja de cálculo o base de datos. Publicaré otros artículos y videos para recorrer. Pero el propósito de este artículo es permitirle comprender el panorama general. Podrás aprender qué componentes son necesarios y cómo funciona.

Al final de este capítulo, podrá dominar la instalación de beautifulsoup4, request, lxml, html5lib y sublime text. Y puede aprender a extraer datos web de ellos.

Tabla de contenidos: Web Scraping con BeautifulSoup, Requests, Python

hermosasopa4

Beautiful Soup es una biblioteca que facilita la extracción de información de páginas web. Se asienta sobre un analizador HTML o XML y proporciona modismos pitónicos. Sirven para iterar, buscar y modificar el árbol de análisis.

Instalar Beautifulsoup4 no es complejo, a continuación se detallan los pasos

1. Vaya a Pypi.org y descargue la última versión beautifulsoup4-4.9.3

2. Abra la terminal Mac e ingrese

cd Desktop

(Nota: Escritorio significa la ubicación del archivo beautifulsoup4 que guarda)

cd beautifulsoup4-4.9.3

sudo python3 ./setup.py install

3. Comprueba si instalas beautifulsoup4 correctamente

Entrada: pip3 instala beautifulsoup4. Si el valor de retorno es un requisito ya satisfecho, eso significa que la instalación está realizada.

Una vez instalado, debemos asegurarnos de tener analizadores para analizar el HTML. Los analizadores son esenciales para extraer los datos y obtener el resultado correcto. Básicamente, es porque la información objetiva de la página HTML es importante. Si las estructuras de la página de destino están construidas en forma perfecta, no hay diferencia entre los analizadores. Pero si las estructuras de la página de destino tienen errores, diferentes analizadores pueden completar la información que falta de manera diferente y garantizar que el resultado devuelto sea correcto.

En la documentación de BeautifulSoup4, hay una sección que explica la diferencia entre analizadores. Pero básicamente, sugieren instalar y usar el analizador lxml y el analizador html5lib . Así que aquí te muestro cómo instalarlo en un terminal Mac:

Pip3 install lxml

Pip 3 install html5lib

Peticiones

Puede utilizar Solicitudes para realizar fácilmente solicitudes HTTP o HTTPS. Es porque es una biblioteca de Python. Básicamente, su propósito principal es llamar los datos objetivos y mostrarlos en su pantalla ejecutando un script de Python. Funciona mientras escribe una URL en un navegador para abrir la página. Generalmente, las solicitudes tienen dos casos de uso principales: realizar solicitudes a una API y obtener contenido HTML sin procesar de sitios web (es decir, raspado).

Las solicitudes de instalación son bastante fáciles, a continuación se detallan los pasos

  1. Abra la Terminal Mac.
  2. Entrada: solicitudes de instalación de pip3. Recuerde usar pip3 si no ha creado el alias entre su versión de Mac Python. Y la última versión de Python3 que uso aquí como ejemplo. De lo contrario, podría provocar la instalación en la ruta de carpeta incorrecta.
  3. Espere y vea si las solicitudes se instalan correctamente, lo que incluye la fecha y la información de la versión relacionada.

Editor de texto sublime

Sublime Text es un editor de código fuente multiplataforma shareware con una interfaz de programación de aplicaciones (API) Python de forma gratuita. Admite de forma nativa muchos lenguajes de programación y lenguajes de marcado. Y los usuarios pueden agregar las funciones con complementos , generalmente creados por la comunidad y mantenidos bajo licencias de software libre .

Hay muchos editores gratuitos disponibles, como atome, etc. Puedes utilizar otro software similar si ya tienes uno. Tomaré el texto sublime como ejemplo para explicarle cómo usarlo para crear scripts y extraer datos web.

1. Verifique el sistema de compilación y actualice la última versión de Python.

En Sublime Text, si va a herramientas y crea sistemas, puede encontrar muchas opciones de lenguajes de programación disponibles, incluido Python. Sin embargo, es posible que la versión predeterminada de Python no esté actualizada. Como puede ver en la siguiente captura de pantalla, seleccionamos Python e ingresamos un código de una sola línea, y muestra Python 2.7, en lugar del último Python3.

Import sys

print(sys.version)

Foto 1

Foto 2

2. Agregue un nuevo sistema de compilación Python3

Al agregar un sistema de compilación, el script muestra una línea de código:

“Shell_cmd”: “make”

Reemplácelo con los códigos a continuación y guárdelo. Ahora ha instalado la última versión de Python3 y puede comprobarlo ingresando import sys, print(sys. version)

"cmd": ["python3", "-i", "-u", "$file"],

"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",

"selector": "source.python"

Foto 1

Foto 2

Caso de raspado web:

(www.easy2digital.com/topics/ecommerce/)

Todo está listo ahora y podemos probar el web scraping en Sublime.

En primer lugar, necesitamos BeautifulSoup y solicitudes, así que comencemos ingresando

from bs4 import BeautifulSoup

import requests

Y luego, a continuación hay una variable que solicita obtener datos de texto fuente HTML de la sección de artículos de comercio electrónico de mi sitio web.

source = requests.get('https://www.easy2digital.com/topics/ecommerce/').text

Luego, podemos analizar esta información del código fuente en BeautifulSoup e imprimirla.

soup = BeautifulSoup(source,'lxml')

print(soup.prettify())

Por último, pero no menos importante, ingresamos el comando B para ejecutar la codificación y, como puede ver, se generan todos los códigos fuente de la página. Estos datos todavía no son útiles porque necesitamos crear líneas de código para extraer específicamente los datos de división que necesitamos.

Dicho esto, ya está funcionando un entorno de raspado web mediante un editor de texto sublime, y la cuestión es que nuestro objetivo es raspar y escribir los códigos según el objetivo en un editor de texto sublime.

Espero que disfrutes leyendo el Capítulo 2: Web Scraping con BeautifulSoup, Requests, Sublime Text. Si lo hizo, apóyenos haciendo una de las cosas que se enumeran a continuación, porque siempre ayuda a nuestro canal.

  • Apoye y done a nuestro canal a través de PayPal ( paypal.me/Easy2digital )
  • Suscríbete a mi canal y activa la campana de notificaciones del canal de Youtube Easy2Digital .
  • Sigue y dale me gusta a mi página Página de Facebook de Easy2Digital
  • Comparte el artículo en tu red social con el hashtag #easy2digital
  • Compre productos con el código de descuento del 10% de descuento de Easy2Digital ( Easy2DigitalNewBuyers2021)
  • Te registras en nuestro boletín semanal para recibir los últimos artículos, vídeos y códigos de descuento de Easy2Digital.
  • Suscríbase a nuestra membresía mensual a través de Patreon para disfrutar de beneficios exclusivos ( www.patreon.com/louisludigital )

Si está interesado en el capítulo 3, consulte el artículo a continuación.

Capítulo 3: Utilice el módulo CSV para escribir, analizar y leer archivos CSV para administrar datos extraídos

Tabla de contenido:

Q1: ¿Cuál es la duración de la batería del producto S?

A: La duración de la batería del producto S puede variar dependiendo del uso, pero en promedio dura aproximadamente 10 horas.

Q2: ¿El producto S es resistente al agua?

A: Sí, el producto S es resistente al agua y puede ser utilizado bajo la lluvia o en ambientes húmedos.

Q3: ¿El producto S es compatible con dispositivos iOS?

A: Sí, el producto S es compatible con dispositivos iOS, incluyendo iPhone y iPad.

Q4: ¿Puedo conectar el producto S a mi televisor?

A: Sí, el producto S se puede conectar a un televisor mediante un cable HDMI para disfrutar de contenido en pantalla grande.

Q5: ¿Cuánto espacio de almacenamiento tiene el producto S?

A: El producto S viene con una capacidad de almacenamiento de 128 GB, lo cual es suficiente para guardar fotos, videos y aplicaciones.

Q6: ¿El producto S tiene garantía?

A: Sí, el producto S viene con una garantía de un año que cubre cualquier defecto de fabricación.

Q7: ¿El producto S tiene soporte para tarjeta SIM?

A: Sí, el producto S tiene soporte para tarjeta SIM, lo que significa que puede ser utilizado como un teléfono móvil independiente.

Q8: ¿El producto S viene con auriculares?

A: Sí, el producto S viene con auriculares de alta calidad para disfrutar de una experiencia de audio inmersiva.

Q9: ¿El producto S es compatible con asistentes de voz?

A: Sí, el producto S es compatible con asistentes de voz como Siri y Google Assistant, lo que facilita el control del dispositivo.

Q10: ¿El producto S ofrece actualizaciones de software?

A: Sí, el producto S ofrece actualizaciones de software periódicas para mejorar la seguridad y agregar nuevas funcionalidades.