Para quem é
Tabelas que chegam inteiras à sua nota
Conversor genérico de HTML para Markdown quebra justamente nas tabelas que importam – as que têm lista, link ou trecho de código dentro da célula. O Clean Clipper escreve a tabela por conta própria e achata o conteúdo da célula em vez de derrubar a linha. Num corpus de quinze tabelas ele manteve doze, contra sete de cada motor comparado.
A tabela que desaba na colagem
O número que você precisa está numa tabela de painel estatístico. Você captura, cola e a grade virou uma coluna só: valor, nota de rodapé e unidade empilhados sem separação. Uma célula tinha uma lista dentro e levou a linha inteira junto. Para não perder a tarde, você acaba digitando os números à mão e conferindo duas vezes, que é o tipo de trabalho onde o erro entra sem avisar.
A outra armadilha é a tabela que não é tabela. Muito site usa grade só para posicionar bloco na tela, e o conversor reproduz aquilo como se fosse dado. A sua nota fica com uma matriz de células vazias em volta de um parágrafo, e a tabela de verdade, três seções abaixo, chega quebrada. Você desconfia de tudo que foi capturado e volta a conferir na fonte.
O terceiro problema não é de conversão, é de tempo. Série estatística é revisada: o painel que você consultou em março mostra outro valor em setembro, porque a base foi atualizada, o método mudou ou o dado preliminar virou definitivo. Quando alguém questiona um número do seu relatório, você precisa saber se errou na leitura ou se a série mudou por baixo – e essa pergunta só tem resposta se existir uma cópia datada do que o painel mostrava naquele dia.
O que muda nos seus dados
- Serializador de tabela GFM próprio, e não um plugin genérico de conversão
- Doze tabelas de quinze mantidas no corpus técnico, contra sete de cada motor comparado
- Célula com lista, link ou trecho de código é achatada em texto, e não derruba a linha
- Tabela irregular de duas colunas vira linhas
Chave: valorem vez de uma grade quebrada - Tabela de layout – grade usada só para posicionar – é desembrulhada, e não reproduzida como dado
- Números, faixas e notas de rodapé ficam onde dá para ler, e o arquivo é texto que você versiona
- A extração roda sobre o DOM já renderizado, então tabela que só existe depois de o painel carregar chega igual à da tela
- Endereço da fonte e data no cabeçalho do arquivo: o número que entrou na planilha continua sabendo de onde veio
| Indicador | Brasil | | --- | --- | | População (Censo 2022) | 203.080.756 | | Municípios | 5.570 | | Área territorial | 8.510.417,771 km² | | Densidade demográfica | 23,86 hab/km² |
Preparar para trabalho com dados
A configuração é uma vez só, e aqui ela serve a dois objetivos ao mesmo tempo: a tabela precisa chegar íntegra, e o arquivo precisa dizer de quando é o número.
- Instale a extensão e abra as opções pelo botão direito no ícone. Confira que o atalho
Alt+Shift+Mestá livre emchrome://extensions/shortcuts. - Aponte a pasta de destino para o diretório do projeto de análise, junto dos scripts e das planilhas. A captura vira insumo versionado, e não um anexo perdido em downloads.
- Coloque
{date}-{domain}-{title}no modelo de nome. A data da consulta na frente é o que permite comparar duas leituras do mesmo painel quando a série for revisada. - Ligue
source,dateeextractionno frontmatter e desligueauthor. Painel estatístico não tem assinatura, e um campo vazio em todo arquivo é ruído no seu processamento. - Coloque imagens em ignorar. Gráfico é imagem: ele não vira dado na captura de qualquer forma, e o link ainda ocupa linha no meio da tabela.
- Antes de capturar, role a página até a tabela aparecer inteira e expanda o que estiver recolhido. O que não foi renderizado não existe para a extensão, e tabela paginada só entrega a página visível.
Ajustes de quem trabalha com números
Estes valores partem de duas exigências que se contradizem menos do que parece: a tabela precisa colar limpa numa planilha, e o arquivo precisa continuar rastreável meses depois.
| Configuração | Valor | Por que esse valor aqui |
|---|---|---|
| Pasta | O diretório do projeto de análise | A captura vira insumo versionado ao lado do script que a consome |
| Modelo de nome | `{date}-{domain}-{title}` | Duas leituras do mesmo painel viram dois arquivos comparáveis |
| Frontmatter | `source`, `date`, `extraction` ligados; `author` desligado | Painel não tem assinatura; o que importa é a origem e o caminho de extração |
| Imagens | Ignorar | Gráfico não vira dado, e o link ainda ocupa linha no meio da tabela |
| Captura | Por seleção, sobre a tabela | O relatório inteiro em volta não ajuda a colar numa planilha |
| Clique no ícone | Abrir a janela de captura | Ver a tabela montada antes de gravar evita levar uma grade quebrada para a análise |
| Município | População 2022 | Domicílios 2022 | Densidade (hab/km²) | | --- | --- | --- | --- | | Município A | 412.530 | 138.900 | 1.204,7 | | Município B | 98.771 (1) | 33.410 | 87,2 | | Município C | 1.203 | 402 | 4,9 | (1) Dado preliminar, sujeito a revisão. O original trazia "Censo 2022" mesclado sobre duas colunas. O Markdown não expressa mescla, então o rótulo foi achatado para dentro de cada coluna. Vírgula decimal e ponto de milhar chegam como estavam na página.
Três leituras de painel
O panorama municipal que vira linha de planilha
Você está num painel de indicadores municipais e precisa de cinco linhas de uma tabela de vinte. Seleciona só a parte que interessa e captura a seleção. O Markdown chega com cabeçalho, e cola direto numa planilha como colunas separadas.
Nenhum número foi digitado, e é aí que está o ganho real: digitação é onde entra o erro que ninguém revisa. O arquivo fica na pasta do projeto com o endereço e a data da consulta no cabeçalho.
A tabela que quebrava em qualquer conversor
O relatório traz uma tabela com lista de categorias dentro de uma célula e um link de metodologia em outra. Conversor genérico desaba a linha inteira; aqui a célula é achatada em texto e a linha se mantém.
No corpus de quinze tabelas o serializador manteve doze, contra sete de cada motor comparado. As três que ele não manteve tinham estrutura que o Markdown simplesmente não expressa, e isso está dito em vez de escondido.
A revisão da série, seis meses depois
Em março você capturou o painel; em setembro captura de novo, e o valor de um município mudou. Os dois arquivos estão lado a lado, com datas de consulta diferentes e o mesmo source.
A comparação de texto entre eles mostra exatamente qual célula mudou. O relatório de março deixa de ser um erro seu e passa a ser uma leitura correta de uma série que foi revisada – que é uma frase que só se sustenta com o arquivo na mão.
Comparado com o jeito usual
Cada uma destas rotas tira um número de uma página e coloca numa análise. A terceira coluna diz o que cada uma cobra, sem exceção para esta extensão.
| Como se faz hoje | O que chega na análise | O que custa |
|---|---|---|
| Digitar à mão | Exatamente os números que você quis | É onde o erro entra sem avisar, e ninguém revisa duas vezes |
| Copiar e colar direto na planilha | As células, quando dá certo | Célula com lista ou nota derruba a linha, e o resultado depende do site |
| Exportar CSV do próprio painel | Dados prontos para processar | Só existe quando o painel oferece, e traz o recorte que ele decidiu |
| Print da tabela | A grade como ela aparece | Não entra em planilha, não entra em busca e corta o que passou da tela |
| Conversor genérico de HTML | Markdown, com a estrutura que sobreviver | Quebra justamente nas células que importam: as que têm lista, link ou código |
| Clean Clipper | Tabela GFM com cabeçalho, notas e endereço da fonte | Não exporta CSV nem XLSX; célula mesclada é achatada e o que não está renderizado não é capturado |
Quando a tabela sai torta
Por que a tabela não apareceu no arquivo?
Quase sempre porque ela não estava renderizada no momento da captura. Painel que carrega o corpo da tabela ao rolar, ou que só monta a grade depois de você escolher um filtro, não tem aquilo no DOM antes disso. Role até o fim, aplique o filtro, confirme na tela e capture então. Tabela desenhada em canvas não é capturada de jeito nenhum, porque ali não existe texto.
Por que veio texto corrido onde havia uma tabela?
Porque aquilo era uma grade de layout, e não uma tabela de dados. Muito site usa marcação de tabela só para posicionar blocos na tela; reproduzir isso como tabela geraria uma matriz de células vazias em volta de um parágrafo. A extensão desembrulha esses casos de propósito, e o conteúdo fica.
Por que o cabeçalho de dois níveis virou um só?
Porque o Markdown não tem célula mesclada. Quando a tabela original traz um rótulo abrangendo duas ou três colunas, ele é achatado para dentro delas: o conteúdo é preservado e a fusão visual não. Em tabela com cabeçalho complexo vale conferir o resultado antes de levar para a análise.
Por que os números vieram com vírgula decimal e ponto de milhar?
Porque a extensão não normaliza nada: o que estava na página é o que chega ao arquivo. Ela não recalcula, não reordena e não converte formato numérico – inclusive porque adivinhar se 1.203 é mil e duzentos ou um vírgula dois destruiria mais dados do que salvaria. A conversão é do seu processo, e agora ela é sobre texto, não sobre digitação.
O que ele não faz
Ele não exporta CSV nem XLSX: a saída é tabela em Markdown, e a conversão para planilha é sua. Não lê tabela desenhada em imagem, nem gráfico – figura continua como link de imagem. Célula mesclada é achatada, porque o Markdown não sabe expressar mescla. E ele não recalcula, não ordena e não valida nada: o que estava na página é o que chega ao arquivo, inclusive o erro que já estava lá.
Perguntas
O que acontece com tabela usada só para layout?
Célula mesclada funciona?
Dá para capturar só a tabela?
Dá para exportar em CSV?
E tabela que carrega por JavaScript depois da página abrir?
Ele converte os números para um formato padrão?
As notas de rodapé da tabela vêm junto?
Tabela dentro de uma aba fechada é capturada?
Dá para capturar várias tabelas de um relatório longo?
Serve para registrar a data em que consultei um indicador?
{date} do modelo e a data publicada fica no campo date do cabeçalho. As duas nunca se misturam, e nenhuma delas é carimbo de tempo de terceiro.