实用的 Python 之 feedparser
来源:互联网 发布:手机查看淘宝注册时间 编辑:程序博客网 时间:2024/06/06 08:55
feedparser 号称是一个 universal feed parser,使用它我们可轻松地实现从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了。
>>> import feedparser
- 1
- 1
为了建立直观,首先来看一个标准的 item:
<item><title><![CDATA[厦门公交车放火案死者名单公布<br/>警方公布嫌犯犯罪证据]]></title><link>http://www.infzm.com/content/91404</link><description><![CDATA[6月11日下午,厦门BRT公交车放火案47名死亡者名单公布。厦门政府新闻办6月10日发布消息称,有证据表明,陈水总携带汽油上了闽DY7396公交车。且有多名幸存者指认其在车上纵火,致使整部车引起猛烈燃烧。经笔迹鉴定,陈水总6月7日致妻、女的两封绝笔书系陈水总本人所写。]]></description><category>南方周末-热点新闻</category><author>infzm</author><pubDate>2013-06-11 11:24:32</pubDate></item>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
feedparser 最为核心的函数自然是 parse() 解析 URL 地址的函数,它返回的究竟是什么样的内容呢?
>>> feedparser.parse(){'bozo': 1, 'bozo_exception': xml.sax._exceptions.SAXParseException('no element found'), 'encoding': 'utf-8', 'entries': [], 'feed': {}, 'namespaces': {}, 'version': ''}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
可以看到,得到是一个字典,’feed’(key) 对应的值(value)也是一个字典,’entries’ 则是 list。
基本用法
每个 RSS 和 Atom 订阅源都包含一个标题(d.feed.title)和一组文章条目(d.entries)。
通常,每个文章条目都有一段摘要(d.entries[i].summary),或者是包含了条目中实际文本的描述性标签(d.entries[i].description)。
>>> import feedparser>>> d = feedparser.parse('http://blog.csdn.net/lanchunhui/rss/list')
- 1
- 2
- 1
- 2
(1)d.feed
>>> d['feed']['title'] # feed 对应一个字典'以数学为生,终生学习数学'>>> d.feed.title # 通过属性的方式访问'以数学为生,终生学习数学'>>> d.feed.link'http://blog.csdn.net/lanchunhui'>>> d.feed.subtitle'数学、编程、物理、文字(The nature of reality itself)'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
(2)d.entries
>>> type(d.entries)list>>> len(d.entries)20 # 共20篇文章>>> [e.title for e in e.entries][:3]['[原]Spark MLlib(一)正则化特征', '[原]Spark 基础 —— sc.broadcast', '[原]Scipy 基础 —— 稀疏矩阵']>>> d.entries[0].summary # 第一篇文章的摘要信息>>> d.entries[0].summary == d.entries[0].descriptionTrue # 有些条目可能会不提供 summary 信息 # 此时 summary 信息可通过 description 获得
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
References
[1] python feedparser 使用
阅读全文
0 0
- 实用的 Python 之 feedparser
- 实用的 Python 之 feedparser
- python之feedparser安装
- python模块之feedparser学习使用
- Mac系统安装python的feedparser模块
- python 中 feedparser的简单用法
- feedparser win7 python 安装
- python中安装feedparser
- python 安装 feedparser
- python安装feedparser失败
- Python-安装feedparser
- python 安装 feedparser
- Python蹒跚学步2:feedparser 和 pydelicious的安装
- Python笔记---setuptools 、feedparser、pydelicious
- Python中用feedparser解析RSS
- Python笔记---setuptools 、feedparser、pydelicious
- 【python】Centos安装 python的 pip Selenium lxml request feedparser Beautifulsoup3、Beautifulsoup4、Scrapy
- Python 使用feedparser提取rss内容
- 20170725
- MyBatis配置文件
- ArrayList和LinkedList区别
- Java中的final修饰符
- 通用模板
- 实用的 Python 之 feedparser
- Alternative Thinking(CodeForces
- openCV学习日志(三) 图像的人脸识别
- 机器学习实战学习_____(1)k_临近算法
- Linux进程基本知识
- KazaQ's Socks
- map c++
- TCP与UDP协议的比较
- 一篇去年留下来的笔记,javac问题和打开命令提示符的问题