2011-04-19 6 views
4

J'étais en train d'écrire un script d'analyseur Python pour les flux RSS. J'utilise feedparser, cependant, je suis coincé sur les flux d'analyse de FeedBurner. Qui a besoin de FeedBurner aujourd'hui? Quoi qu'il en soit ..Python RSS Parser qui gère également FeedBurner

Par exemple, je ne pouvais pas trouver des moyens pour analyser

http://feeds.wired.com/wired/index

http://feeds2.feedburner.com/ziffdavis/pcmag

Quand je mets ceux dans la bibliothèque de feedparser, ne semble pas fonctionner. Essayé de mettre? Fmt = xml ou? Format = xml à la fin des urls, mais toujours pas au format xml. Ai-je besoin d'utiliser un analyseur html tel que BeautifulSoup pour analyser les flux FeedBurner? De préférence, existe-t-il déjà un analyseur public python ou un script d'agrégateur qui gère cela?

Tout conseil ou aide seront grandement appréciés.

Répondre

4

Il est possible que vous ayez un problème de version ou que vous n'utilisiez pas l'API de manière incorrecte - cela aiderait à voir votre message d'erreur. Par exemple, les travaux suivants avec Python 2.7 et 5.0.1 feedparser:

>>> import feedparser 
>>> url = 'http://feeds2.feedburner.com/ziffdavis/pcmag' 
>>> d = feedparser.parse(url) 
>>> d.feed.title 
u'PCMag.com: New Product Reviews' 
>>> d.feed.link 
u'http://www.pcmag.com' 
>>> d.feed.subtitle 
u"First Look At New Products From PCMag.com including Lab Tests, Ratings, Editor's and User's Reviews." 
>>> len(d['entries']) 
30 
>>> d['entries'][0]['title'] 
u'Canon Color imageClass MF9280cdn' 

Et avec l'autre URL:

>>> url = 'http://feeds.wired.com/wired/index' 
>>> d = feedparser.parse(url) 
>>> d.feed.title 
u'Wired Top Stories' 
>>> d.feed.link 
u'http://www.wired.com/rss/index.xml' 
>>> d.feed.subtitle 
u'Top Stories<img src="http://www.wired.com/rss_views/index.gif" />' 
>>> len(d['entries']) 
30 
>>> d['entries'][0]['title'] 
u'Heart of Dorkness: LARPing Goes Haywire in <em>Wild Hunt</em>' 
+0

Après vos travaux d'instruction. Merci ars. Je dois avoir gardé quelque chose de faussé car je recevais juste un résultat vide pour d ['entries'] – DavidL

+0

@DavidL: content que ça marche maintenant. Je suis assez familier avec "erreur de frappe". :-) – ars

2

Je sais que cette question est très vieux, mais je me dis que ce serait utile à toute personne qui s'y trouve en cherchant une solution pour analyser les flux RSS feedburner pour coller un code simple que j'ai pour obtenir la dernière entrée du feedburner Cracked.com. Je l'ai testé sur quelques autres sites et cela fonctionne très bien. Il suffit de remplacer RSSurl par l'adresse de la page feedburner. Il suffit de remplacer RSSurl par l'adresse de la page feedburner. En outre, comme vous pouvez probablement le voir, s'il y a d'autres éléments que vous voulez, vous pouvez simplement ajouter une ligne supplémentaire getElementsByTagName, avec tout ce que vous voulez obtenir.

Editer: aussi, à ma connaissance, fonctionnera avec presque tous les flux RSS.