Pagine

lunedì 21 giugno 2010

feed parser e leggere gmail in python

Feed RSS

Questa tecnologia raccontata in breve, permette di avere un elenco cronologico dei post o articoli pubblicati su un determinato sito (ad esempio il feed rss di questo blog) o delle mail mandate ad un determinato account sottoforma di lista.
Il vantaggio di questa tecnologia è che se si "da in pasto" il feed rss ad un programma specifico come Thunderbird o Outlook, questi articoli appaiono come se fossero mail.
Questo comporta che l'utente non è più costretto a consultare il sito per vedere se ci sono stati aggiornamenti ma riceve un messaggio simile ad una mail.
La filosofia che governa questa tecnologia, dunque, è che sono gli aggiornamenti ad arrivare dall'utente e non il viceversa.
Tempo fa ho già parlato della tecnologia denominata feed RSS e se qualcuno fosse interessato ad approfondire può leggere questo articolo.
Molti sono i software che riescono a leggere agevolmente i feed: tra questi ho già citato Thunderbird ma esistono anche molti linguaggi di programmazioni che hanno dei moduli o delle librerie atte a questo scopo.
Oggi vi propongo feedparser, una libreria per python che serve proprio a leggere agilmente un feed rss.

Feedparser per python

Feedparser è un modulo python che può essere scaricato da questa pagina.
L'installazione non avviene tramite binari ma con il classico setup.py install.
La home page del progetto è piena di esempi pratici e vale la pena seguirli per comprendere la potenza di questo modulo in pochissimo tempo...
In questo esempio vi propongo una soluzione per vedere se sono arrivate nuove mail nel nostro account di posta elettronica gmail.
Il programma di seguito, dunque, una volta specificato il nome utente e password del nostro account gmail, è capace di leggere la lista delle ultime 20 mail e stampare a video il mittente e l'oggetto.
Ovviamente questo codice può essere la base per lo sviluppo di ulteriori funzionalità.

import feedparser

username="username@gmail.com" # modifica username con tuo user
password="password" # modifica la password con quella gmail
protocol="https://"
server="mail.google.com"

path="/gmail/feed/atom"
feedmail = feedparser.parse(protocol + username + ":" + password + "@" + server + path)


for i in xrange(len(feedmail.entries)):
print ""
print feedmail.entries[i].author_detail.email
print feedmail.entries[i].title

Nessun commento:

Posta un commento