Tabla para Scraping

En este post facilito una tabla de ventas para mostrar cómo se podría Scrapear y extraer todos los datos en python para su posterior análisis y representación gráfica.

Punto de ventaSecciones1 T
MadridAlimentación tradicional15.000 €
MadridBebidas26.000 €
MadridCongelados6.000 €
MadridDesayuno, dulces y pan3.000 €
MadridDroguería y limpieza2.500 €
MadridLácteos5.400 €
MadridPerfumería e Higiene5.600 €
MadridProductos frescos8.700 €
ValenciaAlimentación tradicional18.900 €
ValenciaBebidas32.760 €
ValenciaCongelados7.560 €
ValenciaDesayuno, dulces y pan3.780 €
ValenciaDroguería y limpieza3.150 €
ValenciaLácteos6.804 €
ValenciaPerfumería e Higiene7.056 €
ValenciaProductos frescos10.962 €
SevillaAlimentación tradicional23.814 €
SevillaBebidas19.950 €
SevillaCongelados34.580 €
SevillaDesayuno, dulces y pan7.980 €
SevillaDroguería y limpieza3.990 €
SevillaLácteos3.325 €
SevillaPerfumería e Higiene7.182 €
SevillaProductos frescos7.448 €
CáceresAlimentación tradicional16.950 €
CáceresBebidas29.380 €
CáceresCongelados6.780 €
CáceresDesayuno, dulces y pan3.390 €
CáceresDroguería y limpieza2.825 €
CáceresLácteos6.102 €
CáceresPerfumería e Higiene6.328 €
CáceresProductos frescos9.831 €

Vamos con el script en Python para poder extraer los datos.

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://comercioymarketing.es/blog/tabla-para-scraping/")

Buscamos los elementos con el inspector.

Extraemos el segundo elemento de la tabla y para ello identificamos la clase de la tabla.

secciones = driver.find_elements('xpath', './/table[@class="has-fixed-layout"]/tbody/tr/td[2]')
for seccion in secciones:
    print(seccion.text) 

Repetimos la operación para cada columna, sustituyendo el print por «añadir a una lista»

lista_secciones=[]
for seccion in secciones:
    lista_secciones.append(seccion.text)

Por último creamos un diccionario con las tres listas.

import pandas as pd
data={'Secciones':lista_secciones}
df = pd.DataFrame(data)
df.to_csv('datos.csv', index=False, encoding='utf-8')

Recuerda que el script está incompleto y debes crear una lista para cada columna.

Ahora te toca a tí, completa el código.

Juande Marín

Profesor de Marketing digital, divulgador de inteligencia artificial y neuroeducación. Especializado en posicionamiento en buscadores y diseño web. Autor de varios libros relacionados con el comercio electrónico y el marketing digital (McGraw Hill, Paraninfo,…) Juande2marin

Material didáctico

Descubre un material moderno y adaptado a ciclos formativos.