今天带大家了解一种暴力解析Rss种子的方式
feedparser
,连爬取带解析,对于blog,新闻带RSS功能的是既方便又简单。
了解
RSS
: RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。
feedparser
: 可以轻松从任何 RSS 或 Atom 订阅源抓取标题、链接和文章的条目。
pprint
: 格式化美观输出内容
安装模块
安装feedparser
模块
pip install feedparser
安装pprint模块
代码语言:javascript复制pip install pprint
使用方法
首先导入feedparser
和pprint
库
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
数组
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