Python - 阅读RSS提要


RSS(丰富站点摘要)是一种用于提供定期更改的Web内容的格式。许多与新闻相关的网站,网络日志和其他在线发布商将其内容作为RSS Feed联合到任何想要它的人。在python中,我们借助以下包来阅读和处理这些提要。

pip install feedparser

饲料结构

在下面的示例中,我们获取了Feed的结构,以便我们可以进一步分析我们要处理的Feed的哪些部分。

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

print entry.keys()

当我们运行上面的程序时,我们得到以下输出 -

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

Feed标题和帖子

在下面的示例中,我们读取了rss feed的标题和头部。

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

当我们运行上面的程序时,我们得到以下输出 -

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

Feed详情

基于上面的输入结构,我们可以使用python程序从feed中导出必要的细节,如下所示。由于条目是字典,我们利用其键来产生所需的值。

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

当我们运行上面的程序时,我们得到以下输出 -

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