• 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

  • 相关阅读:
    NSArray和NSMutableArray
    NSString和NSMutableString
    关于self指针
    匆匆这一年
    8步共振项目管理体系(8):项目实施过程中的辅助规范
    8步共振项目管理体系(7):项目实施过程的基本规范
    8步共振项目管理体系(5):项目管理的组织及制度保证
    8步共振项目管理体系(2):实施项目成功的标准和必要条件
    8步共振项目管理体系(3):实施顾问和项目经理的素质要求
    8步共振项目管理体系(6):健康的企业文化、团队文化
  • 原文地址:https://www.cnblogs.com/qiulinzhang/p/9737333.html
Copyright © 2020-2023  润新知