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 venta | Secciones | 1 T |
---|---|---|
Madrid | Alimentación tradicional | 15.000 € |
Madrid | Bebidas | 26.000 € |
Madrid | Congelados | 6.000 € |
Madrid | Desayuno, dulces y pan | 3.000 € |
Madrid | Droguería y limpieza | 2.500 € |
Madrid | Lácteos | 5.400 € |
Madrid | Perfumería e Higiene | 5.600 € |
Madrid | Productos frescos | 8.700 € |
Valencia | Alimentación tradicional | 18.900 € |
Valencia | Bebidas | 32.760 € |
Valencia | Congelados | 7.560 € |
Valencia | Desayuno, dulces y pan | 3.780 € |
Valencia | Droguería y limpieza | 3.150 € |
Valencia | Lácteos | 6.804 € |
Valencia | Perfumería e Higiene | 7.056 € |
Valencia | Productos frescos | 10.962 € |
Sevilla | Alimentación tradicional | 23.814 € |
Sevilla | Bebidas | 19.950 € |
Sevilla | Congelados | 34.580 € |
Sevilla | Desayuno, dulces y pan | 7.980 € |
Sevilla | Droguería y limpieza | 3.990 € |
Sevilla | Lácteos | 3.325 € |
Sevilla | Perfumería e Higiene | 7.182 € |
Sevilla | Productos frescos | 7.448 € |
Cáceres | Alimentación tradicional | 16.950 € |
Cáceres | Bebidas | 29.380 € |
Cáceres | Congelados | 6.780 € |
Cáceres | Desayuno, dulces y pan | 3.390 € |
Cáceres | Droguería y limpieza | 2.825 € |
Cáceres | Lácteos | 6.102 € |
Cáceres | Perfumería e Higiene | 6.328 € |
Cáceres | Productos frescos | 9.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