Criar grande Parser - extrair texto relevante do HTML / Blogs
-
16-09-2019 - |
Pergunta
Eu estou tentando criar um analisador HTML generalizado que funciona bem em posts. Eu quero apontar meu analisador de URL do entrie específica e voltar texto limpo do próprio post. Minha abordagem básica (de python) tem sido a de usar uma combinação de BeautifulSoup / urllib2, o que é bom, mas ele assume que você sabe as tags adequadas para a entrada de blog. Alguém tem alguma idéia melhor?
Aqui estão alguns pensamentos talvez alguém poderia expandir em cima, que eu não tenho conhecimento suficiente / know-how ainda de implementar.
-
O unix programa 'lynx' parece posts de análise especialmente bem - o que parser que eles usam, ou como isso poderia ser utilizado
-
Existem quaisquer serviços / analisadores que retiram automaticamente anúncios de lixo, etc?
-
Neste caso, eu tinha uma vaga noção de que pode ser uma suposição bem que posts são geralmente contido em uma determinada tag definir com class = "entrada" ou algo similar. Assim, pode ser possível criar um algoritmo que encontrou as tags que encerram com o texto mais limpo entre eles -? Todas as ideias sobre este
Obrigado!
Solução
Boy, eu tenho o perfeito solução para você.
algoritmo de legibilidade do Arc90 faz exatamente isso. Dado o conteúdo HTML, ele escolhe o conteúdo do texto principal do blog post, cabeçalhos ignorando, rodapés, navegação, etc.
Aqui estão as implementações em:
eu vou estar liberando uma porta Perl para CPAN em um par de dias. Concluído.
Espero que isso ajude!
Outras dicas
Existem projetos lá fora, que especificamente olhar para filtrar o 'ruído' de uma determinada página. Normalmente, a forma como isso é feito é dando o algoritmo alguns exemplos de um determinado tipo de página, e pode olhar para o que as peças não mudam entre eles. Dito isto, você tem que dar o algoritmo alguns exemplos de páginas / mensagens de todo blog que queria analisar. Isso geralmente funciona bem quando você tem um pequeno conjunto definido de sites que você estará rastejando (sites de notícias, por exemplo). O algoritmo é basicamente detectar o modelo que eles usam em HTML e escolhendo a parte interessante. Não há nenhuma mágica aqui, é difícil e imperfeita.
Um grande exemplo disso alogrithm pode ser encontrada no código fonte EveryBlock.com que era apenas open-source. Ir para everyblock.com/code e baixar o pacote "ebdata" e olhar para o "templatemaker" módulo.
E eu não quero dizer o óbvio, mas você já pensou em apenas usando RSS dos blogs em questão? Normalmente, os campos têm todo o post, títulos e outras informações meta junto com eles. Usando RSS vai ser muito mais simples do que a solução anterior mencionei.