python实现RSS解析

2022-09-28 14:39:24 浏览数 (1)

今天带大家了解一种暴力解析Rss种子的方式feedparser,连爬取带解析,对于blog,新闻带RSS功能的是既方便又简单。

了解

RSS: RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。

feedparser: 可以轻松从任何 RSS 或 Atom 订阅源抓取标题、链接和文章的条目。

pprint: 格式化美观输出内容

安装模块

安装feedparser模块

代码语言:javascript复制
pip install feedparser

安装pprint模块

代码语言:javascript复制
pip install pprint

使用方法

首先导入feedparserpprint

代码语言:javascript复制
import feedparser
import pprint

暴力解析RSS资源 这里用的是开源中国的RSS订阅源

代码语言:javascript复制
# 网站种子解析
rss_oschina = feedparser.parse('https://www.oschina.net/news/rss')
# 抓取内容 , depth 抓取深度
pprint.pprint(rss_oschina,depth=1)

其中 depth 可以根据订阅源数据深度设置 ,这里可用1 - 5测试

打印编码

代码语言:javascript复制
print(rss_oschina['encoding'])

for 循环取出需要的数据 这一步演示传统取值方法

代码语言:javascript复制
for entry in rss_oschina['entries']:
     print(entry['title'])
     print(entry['link'])
     print(entry['published'])

整理为JSON数组

代码语言:javascript复制
mylist = [{'title': entry['title'], 'link':entry['link']} for entry in rss_oschina['entries']]
pprint.pprint(mylist)

具体代码

这里以标题和链接抓取为例,超简单代码实现

代码语言:javascript复制
import feedparser
import pprint
"""抓取开源中国RSS"""
# 网站种子解析
rss_oschina = feedparser.parse('https://www.oschina.net/news/rss')
# 整理为JSON数组
mylist = [{'title': entry['title'], 'link':entry['link']} for entry in rss_oschina['entries']]
pprint.pprint(mylist)

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2ryeu1s8i7eo0

0 人点赞