Python Web Scraping de una etiqueta HTML
Un cliente me solicitó cambiar todos los títulos de sus recetas para realizar una optimización SEO de las mismas, carecía de metadatos organizados y no quería pagar ninguna herramienta así que se me ocurrió usar Python para ello, con Python logré ahorrar mucho tiempo en tareas administrativas ya que la URL tenía más de 700 recetas.
En primer lugar nos vamos a Colab.research.google.com y creamos nuevo cuaderno, de esta manera evitarnos instalaciones y además lo podemos guardar en nuestro Drive.
En el cuaderno podemos copiar los códigos explicados paso a paso más abajo, solo necesitas cambiar la URL de la web y buscar el elemento HTML que quieres extraer 🚀
Empezamos:
1.Usamos Request:
- Librería para hacer peticiones http en Python
2.Importamos Beautifulsoup:
- biblioteca de Python para analizar documentos HTML
EJEMPLO DE CÓDIGO:
Los comentarios de las líneas de código se determinan con una # al inicio
Código Python 1:
import requests #línea para importar las libreríafrom bs4 import BeautifulSoup #línea para importar la biblioteca
page = requests.get(‘https://PAGINAWEB.com/recipes/’) #traer web
soup = BeautifulSoup(page.text, ‘html.parser’) #paso la web a html
print(soup) #imprimo la web en html
3. Ahora Seleccionamos la etiqueta html de los títulos de las recetas
Código Python 2:
tags = soup.find_all(«span») # Selección de etiqueta «span»print(tags) #imprimo para ver las recetas
4.Obtenemos la lista de todas las recetas
Código Python 3:
[tags.text for tags in soup.select(‘span’)] #lista de las recetasrecetas = [tags.text for tags in soup.select(‘span’)] #nombro la lista
recetas = list(filter((»).__ne__, recetas)) #elimino las vacias
print(len(recetas)) #veo cuántos elementos tiene
for I in recetas: print(I) #itero sobre las lista, lista en vertical
5.Crear un documento Excel con python
Código Python 4:
import pandas as pd
recetas=pd.DataFrame(recetas,
columns = [«Títulos»])
recetas.to_excel(«recetas.xlsx»)
Ahora ya tienes tu lista en Excel para que puedas empezar a optimizar, en mi caso mi lista de recetas de cocina. 😉
Te dejo un pequeño video sobre cómo he extraído los datos de una pagina web con Python:





0 comentarios