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.

  1. O unix programa 'lynx' parece posts de análise especialmente bem - o que parser que eles usam, ou como isso poderia ser utilizado

  2. Existem quaisquer serviços / analisadores que retiram automaticamente anúncios de lixo, etc?

  3. 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!

Foi útil?

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.

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