Voilà quelques lignes de codaz python, qui permettent tres simplement de récupérer des flux rss pour par exemple les afficher sur un site, dans une socket d'un bot irc, dans un statusline screen :) ou whatever.

1/ Installer feedparser

Afin de parser les flux RSS, on va se servir d'un module P, très “simple” d'utilisation.

  • Sous FreeBSD, les ports sont disponibles, pour les installer :

Voyons si il existe dans l'arbre des ports :

% psearch feedparser
textproc/py-feedparser    An RSS feed parser written in Python

Cool, on peut l'installer alors :

% sudo portinstall textproc/py-feedparser
  • Sous debian, les packages sont disponibles, pour les installer:
% sudo apt-get install python-feedparser

2/ Exploiter les flux AIRAISSESESSE

Ici, nous allons exploiter les syndications des advisories FreeBSD, et nous en afficherons qu'un nombre prédéfinis :

#!/usr/bin/env python
#
 
import feedparser
 
rss = "http://www.freebsd.org/security/advisories.rdf"
syndication_number = 10
feeds = feedparser.parse(rss)
 
#
# parse rss xml structure
# <channel>
#   <title>blabla</title>
#   <link>http://blabla</link>
#   <description>blabla</description>
# </channel>
#
# <item>
#   <title>blabla</title>
#   <link>http://blabla<link>
# </item>
#
 
for i in range(1, syndication_number):
    print "%d - %s %s" % (i, feeds.entries[i]['title'], feeds.entries[i]['link'])

Une rapide constation entre Perl, Ruby et Python, montre que l'écriture de code est plus clair et concise avec le langage au serpent, conclusion python c'est de la balle.

Je vous laisse le soin d'aller plus loin en vous référant aux documentations suivantes :

Enjoy the AIRESSESSE life lutin

codaz/python/parser_des_flux_rss_en_python.txt · Last modified: 2012/11/24 20:12 by sbz