python 中feedParser
转载于https://www.cnblogs.com/bbn0111/p/7056366.html。学习使用
参考链接: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系统调用读取,僵尸'
python 中feedParser的更多相关文章
- python中的编码问题:以ascii和unicode为主线
1.unicode.gbk.gb2312.utf-8的关系 http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8 ...
- 【转】【Python】 python中的编码问题报错 'ascii' codec can't decode 及 URL地址获取中文
1.unicode.gbk.gb2312.utf-8的关系 http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8是u ...
- [转]Python中的str与unicode处理方法
早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...
- python中的Ellipsis
...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...
- python中的默认参数
https://eastlakeside.gitbooks.io/interpy-zh/content/Mutation/ 看下面的代码 def add_to(num, target=[]): tar ...
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
- python中的TypeError错误解决办法
新手在学习python时候,会遇到很多的坑,下面来具体说说其中一个. 在使用python编写面向对象的程序时,新手可能遇到TypeError: this constructor takes no ar ...
- python中的迭代、生成器等等
本人对编程语言实在是一窍不通啊...今天看了廖雪峰老师的关于迭代,迭代器,生成器,递归等等,word天,这都什么跟什么啊... 1.关于迭代 如果给定一个list或tuple,我们可以通过for循环来 ...
- python2.7高级编程 笔记二(Python中的描述符)
Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ...
随机推荐
- 无线密码破解----minidwep-gtk的PIN破解方法
使用虚拟机对minidwep-gtk进行PIN破解 用CDLINUX支持8187和3070_30211版.iso系统PJpin码 1.用虚拟机的好处是方便,可以一边破解,一边上网做其他事情. 虚拟机 ...
- 【python】函数名存在变量中
变量函数:意思就是将函数名存在变量中,然后根据变量值动态的调用需要的函数. LOGIN = 'xxxx' PASSWD = "xxx" URL = 'xxxxx' def hand ...
- Non-standard evaluation, how tidy eval builds on base R
As with many aspects of the tidyverse, its non-standard evaluation (NSE) implementation is not somet ...
- Build fast jar 打包,增加配置文件
Build fast jar 打包,增加配置文件
- 使用sublime text3手动安装插件
众所周知,由于网络问题,使用install package可能会连不上服务器,这时候就不得不手动安装插件了. 其实sublime安装插件的原理就是当你搜索一个插件并安装的时候,它回去github找到这 ...
- EF调用存储过程查询表中的部分字段,报数据读取器与指定的“AdventureWorksDWModel.Student”不兼容。某个类型为“Age”的成员在同名的数据读取器中没有对应的列。
实现功能:查询单张表Student中返回指定的列 一:数据库表结构: 二:存储过程: USE [AdventureWorksDW] GO /****** Object: StoredProcedure ...
- 【并发编程】Future和FutureTask以及CompletionService
Future接口 此接口主要用于: 代表异步计算的执行结果: 用于可取消的task:(比使用interrupt实现取消要方便 ) FutureTask类 FutureTask是Future的一个实现类 ...
- bzoj 3119: Book
Description Wayne喜欢看书,更喜欢买书.某天Wayne在当当网上买书,买了很多很多书.Wayne有一个奇怪的癖好,就是第一本书的价格必须恰为X,而之后买的每一本书,若是比上一本更昂贵, ...
- Jenkins集成selenium
目的:将selenium用例集成到Jenkins,需要执行时,只需要执行curl命令即可. 1.准备selenium测试脚本 from selenium import webdriver import ...
- httpclient跳过https请求的验证
一.因为在使用https发送请求的时候会涉及,验证方式.但是这种方式在使用的时候很不方便.特别是在请求外部接口的时候,所以这我写了一个跳过验证的方式.(供参考) 二.加入包,这里用的是commons- ...