RSS 解析之 feedpaser 2018-10-02

参考:https://blog.csdn.net/lilong117194/article/details/77323673

RSS的相关介绍

  1. RSS的介绍:https://wikipedia.org/wiki/RSS
  2. RSS的XML格式介绍:http://www.w3school.com.cn/rss/rss_syntax.asp

feedparser

  1. feedparser安装
sudo pip install feedparser 
  1. 简化的 rss.xml
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">博客园_默写年华</title>
  <subtitle type="text"></subtitle>
  <id>uuid:70a1ed00-25f2-44e5-b74e-7e9f1e384f1c;id=5134</id>
  <updated>2018-09-29T09:06:43Z</updated>

  <author>
    <name>默写年华</name>
    <uri>http://www.cnblogs.com/qiulinzhang/</uri>
  </author>

  <generator>feed.cnblogs.com</generator>

  <entry>
    <id>http://www.cnblogs.com/qiulinzhang/p/9724748.html</id>
    <title type="text">Pearson Correlation Coefficient 2018-09-29 - 默写年华</title>
    <summary type="text">Pearson Correlation Coefficient 皮尔逊相关系数 皮尔森相关系数是用来反映两个变量线性相关程度的统计量 样本的简单相关系数一般用r表示,其中n 为样本量, 分别为两个变量的观测值和均值。r描述的是两个变量间线性相关强弱的程度。r的取值在 1与+1之间,若r 0,表明两个</summary>
    <published>2018-09-29T09:07:00Z</published>
    <updated>2018-09-29T09:07:00Z</updated>
    <author>
      <name>默写年华</name>
      <uri>http://www.cnblogs.com/qiulinzhang/</uri>
    </author>
    <link rel="alternate" href="http://www.cnblogs.com/qiulinzhang/p/9724748.html" />
    <link rel="alternate" type="text/html" href="http://www.cnblogs.com/qiulinzhang/p/9724748.html" />
    <content type="html">【摘要】Pearson Correlation Coefficient 皮尔逊相关系数 皮尔森相关系数是用来反映两个变量线性相关程度的统计量 样本的简单相关系数一般用r表示,其中n 为样本量, 分别为两个变量的观测值和均值。r描述的是两个变量间线性相关强弱的程度。r的取值在 1与+1之间,若r 0,表明两个 &lt;a href="http://www.cnblogs.com/qiulinzhang/p/9724748.html" target="_blank"&gt;阅读全文&lt;/a&gt;</content>
  </entry>

  <entry>...</entry>
  <entry>...</entry>
  <entry>...</entry>
  <entry>...</entry>
  <entry>...</entry>
  <entry>...</entry>
  <entry>...</entry>
  <entry>...</entry>

  <entry>
    <id>http://www.cnblogs.com/qiulinzhang/p/9570867.html</id>
    <title type="text">sizeof()的用法 - 默写年华</title>
    <summary type="text">1. 定义 sizeof 是一个操作符 operator ,不是一个函数, 其作用是返回一个对象或类型所占的内存字节数 \ 2. 语法 sizeof object; //sizeof 对象 sizeof(object); sizeof(type_name); // 例如 sizeof(int) 对象</summary>
    <published>2018-09-01T08:53:00Z</published>
    <updated>2018-09-01T08:53:00Z</updated>
    <author>
      <name>默写年华</name>
      <uri>http://www.cnblogs.com/qiulinzhang/</uri>
    </author>
    <link rel="alternate" href="http://www.cnblogs.com/qiulinzhang/p/9570867.html" />
    <link rel="alternate" type="text/html" href="http://www.cnblogs.com/qiulinzhang/p/9570867.html" />
    <content type="html">【摘要】1. 定义 sizeof 是一个操作符 operator ,不是一个函数, 其作用是返回一个对象或类型所占的内存字节数 \ 2. 语法 sizeof object; //sizeof 对象 sizeof(object); sizeof(type_name); // 例如 sizeof(int) 对象 &lt;a href="http://www.cnblogs.com/qiulinzhang/p/9570867.html" target="_blank"&gt;阅读全文&lt;/a&gt;</content>
  </entry>
</feed>

然后用feedparser对其进行解析:

>>> import feedparser
>>> feed = feedparser.parse(‘rss.xml‘)
>>> print feed[‘feed‘][‘title‘]
博客园_默写年华

>>> print feed.feed.title #通过属性访问
博客园_默写年华

>>> print feed.entries[0].id #对应上面第一个 entry 的 id
http://www.cnblogs.com/qiulinzhang/p/9724748.html

>>> print feed[‘entries‘][-1][‘summary‘] #对应于最后一个 entry的 summary
1. 定义 sizeof 是一个操作符 operator ,不是一个函数, 其作用是返回一个对象或类型所占的内存字节数 \ 2. 语法 sizeof object; //sizeof 对象 sizeof(object); sizeof(type_name); // 例如 sizeof(int) 对象

>>> len(feed[‘entries‘])
10

注意:中文乱码问题:

unicode编码在元组中不会显示中文,只会以编码形的格式显示,在格式的前面有一个u,表示unicode,因此单独打印print feed[‘feed‘][‘title‘]才不会以元祖形式打印,这样才能打出中文

python2 默认是ASCII,而python3 默认是unicode,因此:

在python2 的情况下 print feed[‘feed‘]打出来的都是 unicode

在python3 的情况下print feed[‘feed‘]可以正确打出中文

参考:http://blog.51cto.com/daimalaobing/2046659

原文地址:https://www.cnblogs.com/qiulinzhang/p/9737333.html

时间: 2024-08-02 04:04:11

RSS 解析之 feedpaser 2018-10-02的相关文章

2018.10.02 练习赛

[T1 蒜头君当大厨] 题解: 显然差分约束,怕你看不出样例还疯狂暗示你= = \(code\): #include<stdio.h> #include<algorithm> #include<vector> #include<queue> #include<ctype.h> #define ll long long using namespace std; char buf[1<<20],*p1,*p2; inline char g

每日一句2018.10.02

Practice, under pressure, with focus, and with that glorious end goal in sight, makes perfect. 在压力下练习,专注,眼中只有美好的最终目标,才能造就完美. 原文地址:https://www.cnblogs.com/565261641-fzh/p/9736835.html

2018.10.02 LeetCode 刷题日记 第17题

手机小键盘 2-9 数字键上有分别对应的字母,输入一串数字,如234,则 2-abc,3-def,4-ghi,按顺序每个数字选择一个字母,输出全部的字母组合 从第一个数的第一个字母开始,向下找数,每种情况结束后进行回溯 读入 23 2- abc 选a 读3 - def 选d .选 e .选f 此时再进行回溯方法,索引已经超过范围,第一次结束 2中选b  依次进行回溯 回溯方法总结: 确定函数结束条件 依次往下找,知道触碰结束,回到上层,重新开始 代码如下: class Solution { pu

rss解析

<rss version="2.0"> <channel> <title> <![CDATA[国际要闻-新浪新闻]]> </title> <image> <title> <![CDATA[新闻中心-国际新闻]]> </title> <link>http://news.sina.com.cn/world</link> <url>http://ww

最新最准确各大搜索引擎蜘蛛名称2014-4-15 10:02:52

最新最准确各大搜索引擎蜘蛛名称2014-4-15 10:02:52 1.百度蜘蛛:Baiduspider网上的资料百度蜘蛛名称有BaiduSpider.baiduspider等,都洗洗睡吧,那是旧黄历了.百度蜘蛛最新名称为Baiduspider.日志中还发现了Baiduspider-image这个百度旗下蜘蛛,查了下资料(其实直接看名字就可以了……),是抓取图片的蜘蛛.常见百度旗下同类型蜘蛛还有下面这些:Baiduspider-mobile(抓取wap).Baiduspider-image(抓取

静态类2014年6月9日10:02:28

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace 静态类密闭类 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 //A a = new A();//错误,静态类不能new 13 14 //Math m = new Math();//错误,静态类不能

提供全面石油天然气建筑风电场建筑ACS CONNECT Edition 10.02

Bentley是全球领导者,致力于为建筑师,工程师,建设者和业主运营商提供全面的架构和工程软件解决方案,以支持基础设施建设.宾利成立于1984年,在45个国家拥有近3,000名同事,年收入5亿美元,自2001年以来,已经投资超过10亿美元用于研究,开发和收购Bentley系统公司已发布SACS CONNECT Edition 10.02.00.01,是用于分析和设计新的和现有的固定式近海石油和天然气建筑和风电场建筑分析设计软件. Avenza Geographic Imager for Adob

phpStudy + JspStudy 2014.10.02 下载

phpStudy + JspStudy 2014.10.02 下载 目标:让天下没有难配的php环境. phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6 『软件简介』该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便.好用的PHP调试环境.该程序绿色小巧简易迷你仅有32

2018/10/10 awk 分析 nginx 日志

废话不多说,简单了解一下 awk - 强大的文本分析工具,也就是分析日志 最常用的就是分析日志了吧,做统计什么,这里也拿 nginx 日志来做分析 1:统计出现次数 - 比如状态码出现次数 - 先直接上命令 awk '{print $9}' access_log | sort | uniq -c | sort -rn - 可能会有一些疑惑,这个$9 是什么? - 我们拿出一条日志来看一下先 123.124.16.83 - - [10/Oct/2018:10:24:56 +0800] "GET /