Python之feedparser
参考链接:http://blog.csdn.net/lanchunhui/article/details/51020566
feedparser是一个Python的Feed解析库,可以处理RSS ,CDF,Atom 。使用它我们可从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了。
RSS(Really Simple Syndication,简易信息聚合)是一种描述和同步网站内容的格式你可以认为是一种定制个性化推送信息的服务。它能够解决你漫无目的的浏览网页的问题。它不会过时,信息越是过剩,它的意义也越加彰显。网络中充斥着大量的信息垃圾,每天摄入了太多自己根本不关心的信息。让自己关注的信息主动来找自己,且这些信息都是用户自己所需要的,这就是RSS的意义。
parse() 方法
feedparser 最为核心的函数自然是 parse() 解析 URL 地址的函数。
我们知道,每个RSS和Atom订阅源都包含一个标题(d.feed.title)和一组文章条目(d.entries)
通常每个文章条目都有一段摘要(d.entries[i].summary),或者是包含了条目中实际文本的描述性标签(d.entries[i].description)
>>>import feedparser
>>>d=feedparser.parse('http://feed.cnblogs.com/blog/sitehome/rss')
d.feed
feed 对应的值也是一个字典
>>>d['feed']['title']
'博客园_首页'
>>>d.feed.title #通过属性的方式访问
'博客园_首页'
>>>d.feed.subtitle
'代码改变世界'
>>>d.feed.link
'uuid:1b90fd0c-6080-4ea5-86b1-b87c64b95d69;id=4466'
d.entries
该属性类型为列表,表示一组文章的条目
>>>type(d.entries) #类型为列表
<class 'list'>
>>>len(d.entries) #一共20篇文章
20
>>>[e.title for e in d.entries][:5] #列出前5篇文章的标题
['僵尸进程 - 乌龟运维', '深入浅出 spring-data-elasticsearch - 基本案例详解(三 - 泥瓦匠BYSocket', 'js继承 - huanglei-', 'ionic 使用了 crosswalkwebview 所产生的bug 及 解决方案 - FEer_llx', '关于并发你真的了解吗?(二) - 心灬无痕']
>>>d.entries[0].summary #第一篇文章的摘要 和d.entries[0].description功能一样
'在UNIX系统中,僵尸进程是指完成执行(通过exit系统调用,或运行时发生致命错误或收到终止信号所致)但在操作系统的进程表中仍 然有一个表项(进程控制块PCB),处于”终止状态“的进程。这发生于子进程需要保留表项以允许其父进程读取子进程的exit status:一旦退出态通过wait系统调用读取,僵尸'