Python – 读取RSS(feed)源

Python – 读取RSS(feed)源

RSS(Rich Site Summary)是一种传递经常改变的网站内容的格式。许多新闻相关站点、博客和其他在线出版商将其内容作为RSS Feed向任何想要的用户进行发放。在Python中,我们利用以下的软件包来读取和处理这些feeds。

pip install feedparser

Feed结构

在下面的示例中,我们获取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 Blog和文章

在下面的示例中,我们读取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详细信息

基于上面的entry结构,我们可以使用Python程序检索feed中的必要详细信息,如下所示。由于entry是一个字典,我们利用其键来产生所需的值。

import feedparser

NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")

entry = NewsFeed.entries[1]

print entry.published
print "******"
print entry.summary
print "------新闻链接--------"
print entry.link

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

Fri, 18 May 2018 20:13:13 GMT
******
周五爆发了一次争议,涉及BJP议员KGBopaiah成为临时演讲人(Pro Tem Speaker)的任命,国大党和JD(S)声称此举违反常规,应让这个职位由议会中资历最资深的议员担任。结合的挑战初步听证会定于今天上午10:30进行。
------新闻链接--------
https://timesofindia.indiatimes.com/india/congress-jds-in-sc-over-bjp-mla-made-pro-tem-speaker-hearing-at-1030-am/articleshow/64228740.cms

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程