🛬前言
今天带大家了解一种暴力解析Rss种子的方式feedparser,连爬取带解析,对于blog,新闻带RSS功能的是既方便又简单。
了解
RSS: RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。
feedparser: 可以轻松从任何 RSS 或 Atom 订阅源抓取标题、链接和文章的条目。
pprint: 格式化美观输出内容
安装feedparser模块
pip install feedparser
安装pprint模块
pip install pprint
🛵使用方法
首先导入feedparser和pprint库
import feedparser
import pprint
暴力解析RSS资源 这里用的是开源中国的RSS订阅源
# 网站种子解析
rss_oschina = feedparser.parse('https://www.oschina.net/news/rss')
# 抓取内容 , depth 抓取深度
pprint.pprint(rss_oschina,depth=1)
其中depth 可以根据订阅源数据深度设置 ,这里可用1 - 5测试
打印编码
print(rss_oschina['encoding'])
for 循环取出需要的数据 这一步演示传统取值方法
for entry in rss_oschina['entries']:
print(entry['title'])
print(entry['link'])
print(entry['published'])
整理为JSON数组
mylist = [{'title': entry['title'], 'link':entry['link']} for entry in rss_oschina['entries']]
pprint.pprint(mylist)
🍥具体代码
这里以标题和链接抓取为例,超简单代码实现
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)