Web Scraping con Python: Cómo ahorrar tiempo y esfuerzo al recolectar datos de la web

por Pauli

He estado buscando trabajo y una de los desafíos que me enviaron implicaba hacer web scraping para obtener datos de una página, así que hoy hablaré de eso: Web Scraping con Python, una técnica que puede ahorrarte un montón de tiempo y esfuerzo al recopilar datos de la web.

¿Qué es el Web Scraping?

El Web Scraping es una técnica para extraer información de sitios web de forma automatizada. Es como si un pequeño robot recolectara datos para ti. Esto significa que no tendrás que copiar y pegar información manualmente en tu computadora.

¿Para qué se usa el Web Scraping?

El Web Scraping puede ser utilizado para muchos propósitos diferentes. Algunos ejemplos son la recopilación de datos para análisis de mercado, la creación de bases de datos para investigación, y la recolección de información de precios, productos y ofertas de la competencia.

Un ejemplo paso a paso de Web Scraping con Python

Para hacer un ejemplo de Web Scraping con Python, utilizaremos la biblioteca Beautiful Soup, que es una biblioteca de análisis de HTML y XML. Vamos a extraer la información del sitio web “RecetasNestle”. En este ejemplo, vamos a extraer la lista de ingredientes de la receta de mi tipo de galletas favorita: Galleta con Chispas de Chocolate.

  1. Lo primero es intalar Beautiful Soup. Abre tu terminal y escribe lo siguiente:
pip install beautifulsoup4
  1. Ahora, importemos las bibliotecas que necesitamos en Python:
import requests
from bs4 import BeautifulSoup
  1. Vamos a definir la URL de la página web que queremos extraer y leemos su contenido:
url = "https://www.recetasnestle.com.pe/recetas/galletas-con-chispas-de-chocolate"
response = requests.get(url)
  1. Creamos un objeto Beautiful Soup para analizar el contenido de la página web:
soup = BeautifulSoup(response.content, 'html.parser')
  1. Encontramos la sección en la página web donde se encuentra la lista de ingredientes:
ingredients_section = soup.find("div", attrs={"class": "recipeDetail__ingredients"})
ingredients_list = ingredients_section.find_all('ul')[0]
  1. Finalmente, imprimimos la lista de ingredientes:
print(ingredients_list.get_text())

¡Y listo! Ahora tienes la lista de ingredientes de la receta, puedes descargar el código de este ejemplo acá. Y por supuesto, puedes aplicar esto a cualquier sitio web que quieras.

Espero que esto te haya sido útil. Recuerda siempre ser ético y legal al utilizar esta técnica.

También puedes leer