HTML para texto sem formatação não formatado?

4

Estou procurando uma maneira de converter uma pasta cheia de arquivos HTML em texto sem formatação. O que eu quero é que os arquivos de texto sejam o máximo possível, como o que eu teria se eu tivesse selecionado todo o texto em um navegador da Web, copiado e colado o texto em um arquivo de texto simples.

NÃO, REALMENTE, QUERO TEXTO SIMPLES NÃO-MODIFICADO. Todas as soluções que estou encontrando produzem o Markdown ou algo parecido, ou tentam preservar o layout, ou usam asteriscos e sublinhados para indicar a formatação do texto ou preservam o conteúdo dos scripts no arquivo de saída, ou alguma coisa inteligente .

Tudo que quero são as palavras escritas pelo autor na ordem em que o autor as escreveu. Eu nem me importo se o processamento converte todos os itens da lista em uma lista em um único parágrafo, ou até mesmo reduz o documento inteiro em um único parágrafo. Tudo isso é muito melhor do que dar-me qualquer coisa diferente da linguagem real contida no documento.

Eu adoraria um aplicativo terminal ou um script Python, mas aceitarei qualquer coisa que eu possa conseguir.

    
por patrick-mooney 20.02.2016 / 00:12

3 respostas

3

html2text é um script Python que converte uma página de HTML em texto estruturado equivalente a Markdown. O html2text pode ser baixado e executado em qualquer sistema operacional que tenha o Python instalado. O programa html2text está nos repositórios de muitas distribuições Linux e pode ser executado a partir da linha de comando assim:

html2text -style pretty input.html  

Este comando não apenas converte o arquivo html original em texto, mas também faz um trabalho muito bom de facilitar a leitura da saída de texto simples. Os cabeçalhos se parecem com cabeçalhos, as listas parecem listas, etc.

    
por 20.02.2016 / 11:01
2

Use w3m -dump <page.html> .

Ele lhe dará a representação de texto do arquivo html.

Da página do manual:

-dump  dump formatted page into stdout

Embora seja dito formatted , a saída é apenas texto simples.

    
por 20.02.2016 / 06:15
0

Unix.com: como remover apenas tags HTML em um arquivo fornece:
sed -n '/^$/!{s/<[^>]*>//g;p;}' filename
ou html2text

CommandLineFu : Remover todas as tags HTML mostra outra linha sed ou awk .

Eu acredito que esta é uma operação um pouco comum fornecida por vários programas, e que o nome mais comum para essa tarefa é "remover" o HTML. Uma rápida Pesquisa do Google para: rastreio de tags html do Linux várias soluções, incluindo tags PHP: .

    
por 20.02.2016 / 06:35

Tags