Python - Lettura del feed RSS

RSS (Rich Site Summary) è un formato per fornire contenuti web che cambiano regolarmente. Molti siti di notizie, weblog e altri editori online distribuiscono i propri contenuti come feed RSS a chiunque lo desideri. In python ci avvaliamo del pacchetto seguente per leggere ed elaborare questi feed.

pip install feedparser

Struttura del mangime

Nell'esempio seguente otteniamo la struttura del feed in modo da poter analizzare ulteriormente le parti del feed che vogliamo elaborare.

import feedparser
NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")
entry = NewsFeed.entries[1]
print entry.keys()

Quando eseguiamo il programma sopra, otteniamo il seguente output:

['summary_detail', 'published_parsed', 'links', 'title', 'summary', 'guidislink', 'title_detail', 'link', 'published', 'id']

Titolo del feed e post

Nell'esempio seguente leggiamo il titolo e l'intestazione del feed RSS.

import feedparser
NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")
print 'Number of RSS posts :', len(NewsFeed.entries)
entry = NewsFeed.entries[1]
print 'Post Title :',entry.title

Quando eseguiamo il programma sopra, otteniamo il seguente output:

Number of RSS posts : 5
Post Title : Cong-JD(S) in SC over choice of pro tem speaker

Dettagli feed

Sulla base della struttura della voce sopra, possiamo derivare i dettagli necessari dal feed utilizzando il programma Python come mostrato di seguito. Poiché la voce è un dizionario, utilizziamo le sue chiavi per produrre i valori necessari.

import feedparser
NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")
entry = NewsFeed.entries[1]
print entry.published
print "******"
print entry.summary
print "------News Link--------"
print entry.link

Quando eseguiamo il programma sopra, otteniamo il seguente output:

Fri, 18 May 2018 20:13:13 GMT
******
Controversy erupted on Friday over the appointment of BJP MLA K G Bopaiah as pro tem speaker for the assembly, with Congress and JD(S) claiming the move went against convention that the post should go to the most senior member of the House. The combine approached the SC to challenge the appointment. Hearing is scheduled for 10:30 am today.
------News Link--------
https://timesofindia.indiatimes.com/india/congress-jds-in-sc-over-bjp-mla-made-pro-tem-speaker-hearing-at-1030-am/articleshow/64228740.cms