RSS biblioteca de analisador de alimentação em Python [fechado]
-
20-09-2019 - |
Pergunta
Eu estou procurando uma biblioteca boa em python que vai me ajudar feeds RSS de análise. Alguém feedparser usado? Qualquer feedback?
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.
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.
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.