UltKit

Convertir HTML a JSON

Saque la tabla de una página web guardada y recíbala como JSON que su código puede recorrer. Las celdas de encabezado dan nombre a las claves, y cada fila de la tabla se convierte en un objeto dentro de un array.

Convertidor de datos

o suelte aquí archivos CSV, TSV, TXT … ·

Máx. 95 MB por archivo· Hasta 20 archivos· Se borran a los 30 minutos

Salida

Los archivos se procesan en nuestros servidores y se borran a los 30 minutos.

Cómo usar esta herramienta

  1. 1

    Guarde la página o la tabla

    En el navegador pulse Ctrl+S (Cmd+S en Mac) y conserve el archivo HTML, o copie el marcado de la tabla desde las herramientas para desarrolladores a un archivo .html. Suba hasta 20 archivos, de 95 MB cada uno.

  2. 2

    Elija la forma del JSON

    Array de objetos viene seleccionado. En Opciones avanzadas, cambie Estructura JSON a Array de arrays para un archivo más compacto, o desactive Formato legible para obtener una sola línea.

  3. 3

    Convierta y use los datos

    Pulse Convertir a JSON, descargue el archivo y cárguelo con JSON.parse en JavaScript, json.load en Python o cualquier cliente de API.

Guarde la página, suba el archivo .html y cada fila de la tabla vuelve como un objeto JSON con las celdas de encabezado de la tabla como claves.

Cuándo una tabla web tiene que convertirse en JSON

Muchos datos útiles solo existen como tabla HTML: una página de tipos de cambio, la clasificación de una liga deportiva, un informe que su intranet muestra pero nunca deja descargar, una página de estado que lista todos los servidores. El navegador lo muestra bien, pero un desarrollador front-end que arma un gráfico, o un tester que necesita datos de prueba, quiere un array de objetos.

La respuesta habitual es un scraper: descargar la página, analizarla con Beautiful Soup o Cheerio, recorrer las filas, asignar las celdas. Vale la pena escribirlo cuando la página cambia a diario. Para una tabla que necesita una sola vez, subir la página guardada es más rápido y no deja nada que mantener.

Ejemplo de tabla HTML a JSON

Tabla de entrada con encabezados th Ciudad y Fundación, salida con Array de objetos
<table>
  <tr><th>Ciudad</th><th>Fundación</th></tr>
  <tr><td>Oporto</td><td>1123</td></tr>
  <tr><td>Graz</td><td>1128</td></tr>
</table>

[
  { "Ciudad": "Oporto", "Fundación": 1123 },
  { "Ciudad": "Graz", "Fundación": 1128 }
]

Qué conserva y qué descarta la conversión

  • Se conserva: el texto de las celdas, la fila de encabezado como claves y el orden de las filas
  • Se descarta: el CSS, los estilos en línea, las clases y la página que rodea la tabla
  • Se descarta: las imágenes e iconos dentro de las celdas, que no tienen valor de texto
  • Las celdas con enlaces conservan su texto visible, no la URL que hay detrás
  • Recortar espacios elimina los espacios al principio y al final de las celdas
  • La salida es UTF-8, que RFC 8259 exige para el JSON compartido entre sistemas

Límites del conversor de HTML a JSON

páginas guardadas admitidas
.html .htm
páginas por lote
20
por archivo subido
95 MB
después se borran los archivos
30 min

HTML y JSON, uno al lado del otro

HTML

HyperText Markup Language (HTML)

HTML es el lenguaje de marcado de la web, descrito por primera vez por Tim Berners-Lee a principios de la década de 1990 y mantenido hoy por el WHATWG como estándar vivo. Un archivo HTML describe encabezados, párrafos, enlaces, tablas, imágenes y formularios, mientras que el estilo suele provenir de CSS. Todos los navegadores lo representan, y también se usa para plantillas de correo electrónico y páginas web guardadas. Un archivo HTML suele depender de imágenes y hojas de estilo externas, por lo que puede verse incompleto si se mueve solo.

Compresión
–
Transparencia
–
Animación
–
Presentado en
1993 · Tim Berners-Lee; maintained by WHATWG
Convertidor de HTML

JSON

JavaScript Object Notation (JSON)

JSON es un formato de texto ligero para datos estructurados, popularizado por Douglas Crockford a principios de la década de 2000 y estandarizado como RFC 8259 y ECMA-404. Representa objetos, arreglos, cadenas, números, booleanos y null con una sintaxis sencilla y legible. Es el formato predeterminado para las API web, los archivos de configuración y el intercambio de datos entre aplicaciones en casi todos los lenguajes de programación. No incluye comentarios, fechas ni esquemas, y los archivos grandes y anidados son difíciles de leer sin un visor.

Compresión
–
Transparencia
–
Animación
–
Presentado en
2001 · Douglas Crockford
Convertidor de JSON

El HTML pasa a JSON cuando una tabla publicada para lectores humanos, en una página de informes, una intranet o un sitio de estadísticas públicas, tiene que alimentar un script, una biblioteca de gráficos o una prueba de API.

Los dos formatos vienen de tradiciones distintas. HTML, descrito por primera vez por Tim Berners-Lee en 1991 y mantenido hoy por WHATWG como estándar vivo, marca documentos para mostrarlos. JSON, especificado por Douglas Crockford y estandarizado como RFC 8259 y ECMA-404, no contiene más que datos. Pasar del primero al segundo consiste sobre todo en desechar la presentación, por eso el resultado suele pesar mucho menos que la página guardada. Para tablas que llegan como fuentes XML en lugar de páginas web, XML a JSON hace el trabajo equivalente.

Preguntas sobre HTML a JSON

¿El conversor de HTML a JSON lee toda la página web o solo las tablas?

Solo el marcado de tablas: las filas y celdas dentro de los elementos table, tr, th y td. Los menús de navegación, los párrafos y los diseños de tarjetas hechos con elementos div no son datos tabulares, así que no se convierten a JSON.

¿Qué fila de la tabla HTML aporta las claves del JSON?

La fila de encabezado, normalmente las celdas th de la parte superior de la tabla. Con La primera fila es el encabezado activado, su texto pasa a ser la clave de cada valor de debajo, así que una columna titulada Población da "Población": "…" en cada objeto.

¿Cómo se tratan las celdas con colspan y rowspan al pasar a JSON?

Una celda combinada ocupa varias posiciones de la cuadrícula pero contiene un solo valor. Ese valor aparece solo en la primera posición, así que revise las columnas combinadas después de convertir y rellene los huecos en código si su tabla depende de encabezados combinados.

¿Por qué los números de mi JSON salen con comas o marcas de nota al pie?

Las tablas web se escriben para lectores, así que una celda puede decir 1,204,000 u 8.3[2]. Un número simple como 1123 pasa a ser un número JSON, pero esas celdas no son números válidos y quedan como cadenas; quite los separadores y las marcas de nota en código antes de hacer cálculos.

¿Está permitido extraer una tabla de un sitio web?

Depende de las condiciones del sitio y de los datos, no del formato del archivo. Las estadísticas públicas y sus propios informes exportados son los casos habituales; revise las condiciones antes de reutilizar contenido ajeno.

¿Puedo obtener una hoja de cálculo en lugar de JSON?

Sí. HTML a CSV escribe la misma tabla como filas separadas por comas que se abren en Excel, Google Sheets o Numbers.