相关文章推荐
有情有义的大白菜  ·  python ...·  4 周前    · 
完美的馒头  ·  python QTreeWidget ...·  3 周前    · 
失眠的烤红薯  ·  python qt textBrowser ...·  3 周前    · 
帅气的领带  ·  【Pyspark ...·  6 天前    · 
近视的橙子  ·  python ...·  4 天前    · 
精明的荔枝  ·  用户对问题“Spring ...·  1 年前    · 
焦虑的跑步鞋  ·  java - Spring Boot - ...·  1 年前    · 
一身肌肉的茄子  ·  Integral numeric ...·  1 年前    · 
本文介绍如何使用Python的feedparser库解析RSS和Atom订阅源,获取标题、链接及文章条目等内容。通过实例展示了feedparser的核心函数parse()的使用方法,并解释了返回的数据结构。 摘要由CSDN通过智能技术生成

feedparser 号称是一个 universal feed parser,使用它我们可轻松地实现从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了。

>>> import feedparser

为了建立直观,首先来看一个标准的 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 >

feedparser 最为核心的函数自然是 parse() 解析 URL 地址的函数,它返回的究竟是什么样的内容呢?

>>> feedparser.parse()
{'bozo': 1,
 'bozo_exception': xml.sax._exceptions.SAXParseException('no element found'),
 'encoding': 'utf-8',
 'entries': [],
 'feed': {},
 'namespaces': {},
 'version': ''}

可以看到,得到是一个字典,’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)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)'
  • (2)d.entries

    >>> type(d.entries)
    >>> 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].description
                            # 有些条目可能会不提供 summary 信息
                            # 此时 summary 信息可通过 description 获得

References

[1] python feedparser 使用

RSS 是用于分发 Web 站点上的内容的摘要的一种简单的 XML 格式。它能够用于共享各种各样的信息。关于RSS的详细信息在(http://www.rssboard.org/rss-profile),这里面详细的讲了各种值的含义(虽然各个版本的支持不太一样,但是还是比较有通用性的) RSS(Really Simple Syndication,简易信息聚合)是一种描述和同步网站内容的格式你...
今天在看书的时候无意间发现了一个号东西就是 feed parser 模块, feed parser 号称是一个 universal feed parser ,使用它我们可轻松地实现从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了,这个号称并不是说的话,是因为这个模块真的很强大,解压打开后可以直接使用: python setup.py  install    安装使用,也可以使用:p
最近在机器学习实战中用到 feed parser ,然后简单总结了一下: feed parser python 中最常用的RSS程序库,使用它我们可轻松地实现从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目。首先随便找了一段简化的rss:<?xml version="1.0" encoding="utf-8"?> < feed xmlns="http://www.w3.org/2005/Atom"
第一步:下载setuptools并安装;链接:https://pypi. python .org/pypi/setuptools 参考博客:https://blog.csdn.net/DongGeGe214/article/details/52199439 第二步:下载 feed parser 并安装;链接:https://pypi. python .org/pypi/ feed parser 参考博客:h...
1. setuptools的安装因为我安装的是Win python ,默认已经安装了setuptools,所以这里不赘述。 2. feed parser 的安装方法一: 下载地址: feed parser 5.2.1.zip 解压压缩包 feed parser 5.2.1.zip 在cmd窗口中切换目录到解压的文件夹,然后执行命令: python setup.py install 具体过程见下图(图中几乎给出了所有
feed parser 是一个 Python Feed 解析库( Feed 可理解接收信息来源更新的接口),使用它我们可从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了。 RSS(Really Simple Syndication,简易信息聚合)是一种描述和同步网站内容的格式你可以认为是一种定制个性化推送信息的服务。它能够解决你漫无目的的浏览网页的问题。它不会过时,信息越是过剩,它的意义也...
https://pypi.org/project/ feed parser /#files. 下载 feed parser 的zip压缩包。 解压到电脑中任何一个文件夹,再用cmd进入到该目录下,使用 python setup.up instal...
feed parser 模块 feed parser 是一个 Python Feed 解析库,可以处理RSS ,CDF,Atom 。使用它我们可从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了。 RSS(Really Simple Syndication,简易信息聚合):是一种描述和同步网站内容的格式你可以认为是一种定制个性化推送信息的服务。RSS 是用于分发...