UltKit

Converter HTML para JSON

Tire a tabela de uma página da web salva e receba de volta um JSON que o seu código consegue percorrer. As células do cabeçalho dão nome às chaves, e cada linha da tabela vira um objeto dentro de um array.

Conversor de dados

ou solte arquivos CSV, TSV, TXT … aqui ·

Até 95 MB por arquivo· Até 20 arquivos· Apagados após 30 minutos

Saída

Os arquivos são processados em nossos servidores e apagados após 30 minutos.

Como usar esta ferramenta

  1. 1

    Salve a página ou a tabela

    No navegador, pressione Ctrl+S (Cmd+S no Mac) e guarde o arquivo HTML, ou copie a marcação da tabela pelas ferramentas de desenvolvedor para um arquivo .html. Envie até 20 arquivos de 95 MB cada.

  2. 2

    Escolha o formato do JSON

    Array de objetos já vem selecionado. Em Configurações avançadas, mude Estrutura do JSON para Array de arrays para um arquivo mais compacto, ou desligue Formatação legível para receber tudo numa linha só.

  3. 3

    Converta e use os dados

    Clique em Converter para JSON, baixe o arquivo e carregue com JSON.parse no JavaScript, json.load no Python ou em qualquer cliente de API.

Salve a página, envie o arquivo .html e cada linha da tabela volta como um objeto JSON com as chaves tiradas das células do cabeçalho.

Quando uma tabela da web precisa virar JSON

Muitos dados úteis só existem como tabela HTML: uma página de câmbio, a classificação do Brasileirão, um relatório que a intranet exibe mas nunca deixa baixar, uma página de status listando cada servidor. O navegador mostra tudo bonito, mas um desenvolvedor front-end montando um gráfico, ou um testador que precisa de dados de exemplo, quer um array de objetos.

A resposta de sempre é um scraper: buscar a página, interpretar com Beautiful Soup ou Cheerio, percorrer as linhas, mapear as células. Vale escrever um quando a página muda todo dia. Para uma tabela que você vai usar uma vez, enviar a página salva é mais rápido e não deixa nada para manter.

Exemplo de tabela HTML convertida em JSON

Tabela de entrada com cabeçalhos th Cidade e Fundação, saída em Array de objetos
<table>
  <tr><th>Cidade</th><th>Fundação</th></tr>
  <tr><td>Porto</td><td>1123</td></tr>
  <tr><td>Guimarães</td><td>1128</td></tr>
</table>

[
  { "Cidade": "Porto", "Fundação": 1123 },
  { "Cidade": "Guimarães", "Fundação": 1128 }
]

O que a conversão mantém e descarta

  • Mantém: o texto das células, a linha de cabeçalho como chaves e a ordem das linhas
  • Descarta: CSS, estilos inline, classes e a página em volta da tabela
  • Descarta: imagens e ícones dentro das células, que não têm valor de texto
  • Células com link mantêm o texto visível, não a URL por trás dele
  • Espaços no início e no fim das células são cortados por Remover espaços extras
  • A saída é UTF-8, que a RFC 8259 exige para JSON trocado entre sistemas

Limites do conversor de HTML para JSON

páginas salvas aceitas
.html .htm
páginas por lote
20
por arquivo enviado
95 MB
depois os arquivos são apagados
30 min

HTML e JSON lado a lado

HTML

HyperText Markup Language (HTML)

HTML é a linguagem de marcação da web, descrita pela primeira vez por Tim Berners-Lee no início dos anos 1990 e hoje mantida pelo WHATWG como um padrão vivo. Um arquivo HTML descreve títulos, parágrafos, links, tabelas, imagens e formulários, enquanto o estilo costuma vir do CSS. Todo navegador o renderiza, e ele também é usado em modelos de e-mail e páginas da web salvas. Um único arquivo HTML costuma depender de imagens e folhas de estilo externas, por isso pode aparecer quebrado quando movido sozinho.

Compressão
–
Transparência
–
Animação
–
Lançamento
1993 · Tim Berners-Lee; maintained by WHATWG
Conversor de HTML

JSON

JavaScript Object Notation (JSON)

JSON é um formato de texto leve para dados estruturados, popularizado por Douglas Crockford no início dos anos 2000 e padronizado como RFC 8259 e ECMA-404. Ele representa objetos, arrays, strings, números, booleanos e null com uma sintaxe simples e legível. É o formato padrão de APIs web, arquivos de configuração e troca de dados entre aplicativos em praticamente todas as linguagens de programação. Não tem comentários, datas nem esquemas embutidos, e arquivos grandes e aninhados são difíceis de ler sem um visualizador.

Compressão
–
Transparência
–
Animação
–
Lançamento
2001 · Douglas Crockford
Conversor de JSON

HTML vai para JSON quando uma tabela publicada para leitores humanos, numa página de relatório, numa intranet ou num site de estatísticas públicas, precisa alimentar um script, uma biblioteca de gráficos ou um teste de API.

Os dois formatos vêm de tradições diferentes. O HTML, descrito pela primeira vez por Tim Berners-Lee em 1991 e hoje mantido pelo WHATWG como padrão vivo, marca documentos para exibição. O JSON, especificado por Douglas Crockford e padronizado como RFC 8259 e ECMA-404, guarda apenas dados. Passar do primeiro para o segundo é, no fundo, jogar fora a apresentação, e por isso o resultado costuma ser bem menor que a página salva. Para tabelas que chegaram como feeds XML em vez de páginas da web, converter XML para JSON faz o trabalho equivalente.

Perguntas sobre HTML para JSON

O conversor de HTML para JSON lê a página inteira ou só as tabelas?

Só a marcação de tabela: as linhas e células dentro dos elementos table, tr, th e td. Menus de navegação, parágrafos e layouts de cards feitos com elementos div não são dados tabulares, então não viram JSON.

Qual linha da tabela HTML fornece as chaves do JSON?

A linha de cabeçalho, normalmente as células th no topo da tabela. Com Primeira linha é cabeçalho ligado, o texto dela vira a chave de cada valor abaixo, então uma coluna chamada População gera "População": "…" em todos os objetos.

Como ficam as células com colspan e rowspan no JSON?

Uma célula mesclada cobre várias posições da grade, mas guarda um só valor. Espere esse valor apenas na primeira posição; confira as colunas mescladas depois de converter e preencha as lacunas no código se a sua tabela depende de cabeçalhos mesclados.

Por que os números no meu JSON aparecem com pontos ou marcas de nota de rodapé?

Tabelas da web são escritas para leitores, então uma célula pode dizer 1.204.000 ou 8,3[2]. Um número simples como 1123 vira número no JSON, mas essas células não são números válidos e continuam como strings; tire separadores e marcas de nota no código antes de fazer contas.

É permitido extrair a tabela de um site?

Depende dos termos do site e dos dados, não do formato do arquivo. Estatísticas públicas e relatórios exportados por você mesmo são os casos comuns; confira os termos antes de reutilizar conteúdo de terceiros.

Posso receber uma planilha em vez de JSON a partir do HTML?

Sim. Converter HTML para CSV grava a mesma tabela como linhas separadas por vírgula, que abrem no Excel, no Google Planilhas ou no Numbers.