En resumen: La mayoría de las tablas HTML se pueden extraer con una sola línea de pandas.read_html. Cuando la tabla esté paginada, se haya renderizado con JavaScript o tenga encabezados fusionados, cambia a Requests + BeautifulSoup o a un navegador sin interfaz gráfica como Playwright. Esta guía te ofrece una matriz de decisión, código funcional para los tres enfoques y los pasos de limpieza que convierten las filas extraídas en datos listos para procesar.Los datos tabulares están por todas partes en la web pública, desde las infoboxes de Wikipedia y los filtros de acciones hasta las estadísticas gubernamentales, las estadísticas deportivas y las páginas de comparación de productos. Si sabes cómo extraer tablas HTML usando Python, puedes convertir esas filas en DataFrames limpios, documentos JSON o filas en tu propia base de datos en cuestión de minutos.
El problema es que las tablas HTML son una categoría engañosamente amplia. Algunas tablas se encuentran perfectamente dentro de <table> el marcado que pandas puede analizar con una sola línea. Otras son cuadrículas creadas a mano <div>, paginadas a lo largo de docenas de páginas, o que solo se rellenan después de que se ejecute JavaScript en el navegador. Un método que funciona perfectamente en Wikipedia podría devolver silenciosamente cero filas en una aplicación de una sola página.
Esta guía repasa tres enfoques en Python y estructura todo el artículo en torno a dos preguntas prácticas: ¿qué método deberías elegir y cómo mantienes tu scraper en funcionamiento cuando el sitio cambie su marcado el próximo trimestre?




