Qual é a melhor maneira de extrair o conteúdo da tabela de um grupo de arquivos HTML?

StackOverflow https://stackoverflow.com/questions/68691

Pergunta

Depois de limpar uma pasta cheia de arquivos HTML com o TIDY, como o conteúdo das tabelas pode ser extraído para processamento posterior?

Foi útil?

Solução

Depende do tipo de processamento que você deseja fazer.Você pode dizer ao Tidy para gerar XHTML, que é um tipo de XML, o que significa que você pode usar todas as ferramentas XML usuais, como XSLT e XQuery, nos resultados.

Se quiser processá-los no Microsoft Excel, você poderá cortar a tabela do HTML e colocá-la em um arquivo e, em seguida, abrir esse arquivo no Excel:ele converterá com prazer uma tabela HTML em uma página de planilha.Você pode salvá-lo como CSV ou como uma pasta de trabalho do Excel, etc.(Você pode até usar isso em um servidor web - retorne uma tabela HTML, mas defina o Content-Type cabeçalho para application/ms-vnd.excel:O Excel abrirá e importará a tabela e a transformará em uma planilha.)

Se você deseja que o CSV alimente um banco de dados, você pode usar o Excel como antes, ou se quiser automatizar o processo, você pode escrever um programa que use a API de navegação XML de sua escolha para iterar as linhas da tabela e salve-os como CSV.Os módulos Elementtree e CSV do Python tornariam isso muito fácil.

Outras dicas

Eu usei o BeautifulSoup para essas coisas no passado com grande sucesso.

Depois de revisar as sugestões, acabei usando Unidade HTML.

Com o htmlunit, pude personalizar o código Java para abrir cada arquivo HTML na pasta, navegar até a tag de tabela, consultar cada conteúdo da coluna e extrair os dados necessários para criar um arquivo CSV.

No .NET você poderia usar HTMLAgilityPack.

Veja isso pergunta anterior no StackOverflow para obter mais informações.

Se quiser extrair o conteúdo da marcação HTML, você deve usar algum tipo de analisador HTML.Para esse fim, existem muitos por aí e aqui estão dois que podem atender às suas necessidades:

http://jtidy.sourceforge.net/
http://htmlparser.sourceforge.net/

itere pelo texto e use expressão regular :)

http://www.knowledgehouse.sg

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top