Universal Feed Parser: il miglior parser per feed

Universal Feed Parser è senza dubbio il migliore parser per feed attualmente in circolazione.

Completamente scritto in Python, è in grado di leggere un qualsiasi feed scritto nei formati RSS 0.90, Netscape RSS 0.91, Userland RSS 0.91, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0 e CDF.
Una dotazione di tutto rispetto in grado di far impallidire qualsiasi concorrente in qualsiasi altro linguaggio.
Universal Feed Parser supporta inoltre numerosi moduli ed estensioni, inclusi Dublin Core e Apple iTunes.

Questo potente parser richiede la presenza di Python 2.1 o una versione successiva.
Non è concepita per rappresentare una soluzione autonoma ma una componente del core di programmi ed applicativi più complessi.
La classe non contiene infatti particolari metodi per stampare o visualizzare i dati raccolti dal feed, ma restituisce semplicemente una serie di dizionari che possono essere gestiti attraverso le librerie di Python.

Universal Feed Parser è molto semplice da usare e dispone di una documentazione online che impressiona per la sua completezza e la sua chiarezza.

Struttura di Universal Feed Parser

Una volta scaricato, il pacchetto contiene una serie di file, compresa la classe.
Vediamo i principali.

feedparser.py
Rappresenta l'intera classe Universal Feed Parser. Per funzionare non c'è bisogno di alcun altro file.
E' sufficiente importare la classe contenente in questo file ed usarne i comani specifici.
/docs
Contiene l'intera documentazione in formato HTML per la versione in uso. Online è comunque disponibile la versione più recente.

Esempi d'utilizzo

Universal Feed Parser è veramente una classe molto potente.
Può analizzare feed online, salvati sul computer in uso oppure stringhe e variabili contenenti un feed.

Gli esempi seguenti vi daranno modo di apprezzare la semplicità d'uso.

Parsing di un feed da un indirizzo URL

>>> import feedparser
>>> d = feedparser.parse('http://feedparser.org/docs/examples/atom10.xml')
>>> d['feed']['title']

u'Sample Feed'

Parsing di un feed da un indirizzo locale

>>> import feedparser
>>> d = feedparser.parse(r'c:\incoming\atom10.xml')
>>> d['feed']['title']

u'Sample Feed'