Pergunta

Eu estou procurando uma biblioteca boa em python que vai me ajudar feeds RSS de análise. Alguém feedparser usado? Qualquer feedback?

Foi útil?

Solução

Usando feedparser é uma opção muito melhor do que rolar seus próprios com minidom ou BeautifulSoup.

  • É normaliza as diferenças entre todas as versões de RSS e Atom para que você não tem que ter um código diferente para cada tipo.
  • É bom sobre a detecção de diferentes formatos de data e outras variações nos feeds.
  • Segue-se automaticamente HTTP redirecionamentos.
  • É limpa HTML conteúdo.
  • Tem suporte para cabeçalhos ETag e última modificação para que você possa ver se a alimentação mudou apenas fazendo o download do cabeçalho HTTP e não todo o feed.
  • Tem suporte para feeds autenticados.
  • Tem suporte para HTTP proxies.

Como outros já mencionados, apenas experimentá-lo. É como 2 linhas de código para analisar um feed. A minha única reclamação é que ele só usa dicionários como seu modelo de dados e alguns atributos podem estar faltando no dicionário se eles não estavam na alimentação, então você tem que verificar que em seu código. Mas a documentação é muito clara sobre quais os atributos estará sempre no dicionário e que pode estar faltando.

Finalmente, eu posso garantir para ela, como eu escrevi um aplicativo que usa-lo. Veja aqui: http://www.feednotifier.com/

Outras dicas

feedparser é muito poderoso e configurável e é tão fácil de usar. A curva de aprendizado muito amigável, se em tudo.

Exemplo

Programatically determinar quantas respostas à sua pergunta tem:

easy_install feedparser
python -c 'import feedparser; print len(feedparser.parse("http://bit.ly/c785aj")["entries"])'

Se você quer uma alternativa, tente xml.dom.minidom. Como "Django é Python", "RSS é XML".

Eu sei que este é um tema muito antigo, mas por aquilo que vale a pena, eu estava usando feedparser (analisador de alimentação Universal) versão 5.1.3 e eu recentemente swiched para speedparser (0.1.8) por motivos de desempenho. Ele tem praticamente as mesmas interfaces, mas correr mais rápido.

Eu estou usando-o para um amador Python-para-Android aplicação e speedparser corre cerca de 5 vezes mais rápido em meus feeds.

http://www.feedparser.org/

Primeiro bateu em G.

Em resposta à sua continuação. Você poderia usar BeautifulSoup - mas feedparser é muito melhor voltada para RSS entrega.

Não snark - mas você já leu feedparsers documentação ? Eu não sei como poderia ser mais simples de usar.

A partir de 2019, atoma é uma alternativa possível para feedparser , embora eu não tê-lo usado.

I Recomendamos feedparser.

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