【问题标题】:Why feedparser for Python does not see all elements in the feed为什么 Python 的 feedparser 看不到提要中的所有元素
【发布时间】:2014-04-24 05:39:20
【问题描述】:

我使用以下代码:

import feedparser as fp

if __name__ == '__main__':
    url = 'http://www.careerbuilder.de/RTQ/rss20.aspx?rssid=RSS_PD&num=25&geoip=false&ddcompany=false&ddtitle=false&cat=JN038'  
    d = fp.parse(url)
    for entry in d.entries:
        print entry
        print '----------------------'

结果我得到:

{'guidislink': 0, 'published': u'Wed, 23 Apr 2014 04:00:00 Z', 'published_parsed': time.struct_time(tm_year=2014, tm_mon=4, tm_mday=23, tm_hour=4, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=113, tm_isdst=0), 'title': u'Bankkaufmann (m/w)'}
----------------------
{'guidislink': 0, 'published': u'Wed, 23 Apr 2014 04:00:00 Z', 'published_parsed': time.struct_time(tm_year=2014, tm_mon=4, tm_mday=23, tm_hour=4, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=113, tm_isdst=0), 'title': u'Anlagenbuchhalter (m/w)'}
----------------------
{'guidislink': 0, 'published': u'Wed, 23 Apr 2014 04:00:00 Z', 'published_parsed': time.struct_time(tm_year=2014, tm_mon=4, tm_mday=23, tm_hour=4, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=113, tm_isdst=0), 'title': u'Bankkaufleute (m/w)'}
----------------------

Feed 中的条目似乎没有“摘要”和“链接”元素。作为一种构造,如果我尝试使用entry.summaryentry.description,我会收到一条错误消息。这对我来说很奇怪,因为如果我在浏览器中打开它,我确实会在提要的 xml 中看到 linkdescription 元素。

有人知道我做错了什么吗?

【问题讨论】:

    标签: python rss feedparser


    【解决方案1】:

    来自revision history of feedparser

    Universal Feed Parser 3.0b18 于 2004 年 2 月 17 日发布。

    • 始终将描述映射到 summary_detail (Andrei)
    • 使用 libxml2(如果可用)

    来自here

    某些 RSS 提要在表示链接时使用 guid。 guid 也可以用作 与链接无关的不透明标识符。如果 RSS 提要 使用 guid 作为入口链接并且不存在链接,Universal Feed Parser 检测到这一点并在d.entries[i].link 中提供guid。

    也许这就是为什么我可以访问entry.linkentry.description 而不会出现任何错误,尽管print entry.keys() 给出了

    ['summary_detail', 'published_parsed', 'links', 'title', 'summary', 'guidislink', 'title_detail', 'link', 'published', 'id']
    

    【讨论】:

      猜你喜欢
      • 2016-10-21
      • 1970-01-01
      • 2015-01-04
      • 2020-11-28
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      • 2021-12-27
      相关资源
      最近更新 更多