首页 > 解决方案 > AttributeError:解析 CNN 源时,对象没有“已发布”属性

问题描述

自从解析 CNN.RSS 站点后,我就面临这个问题。它只获得前 7 个条目,然后我遇到了这个问题。下面是我的日志..请帮助我:(。谢谢你

这是我的代码:

import feedparser

url = "http://rss.cnn.com/rss/edition.rss"
feed = feedparser.parse(url)
for news in feed.entries:
    print(news.published)

日志

我的日志: https ://pastebin.com/vMJSXD0J

标签: python-3.xfeedparser

解决方案


要调试它,您应该首先检查是否publishedkeysfor的一部分news

>>> news.keys()
dict_keys(['title', 'title_detail', 'summary', 'summary_detail', 'links', 'link', 'id', 'guidislink', 'published', 'published_parsed', 'media_content'])

根据这publishedkeysfor的一部分,news因此您的代码应该可以正常工作。

>>> import feedparser
>>> url = "http://rss.cnn.com/rss/edition.rss"
>>> feed = feedparser.parse(url)
>>> for news in feed.entries:
    print(news.published)

    
Thu, 11 Mar 2021 04:53:36 GMT
Thu, 11 Mar 2021 03:21:32 GMT
Wed, 10 Mar 2021 12:54:12 GMT
Thu, 11 Mar 2021 05:13:03 GMT
Wed, 10 Mar 2021 23:46:07 GMT
Wed, 10 Mar 2021 17:56:03 GMT
Thu, 11 Mar 2021 05:50:56 GMT
Thu, 11 Mar 2021 00:37:19 GMT
Thu, 11 Mar 2021 04:44:57 GMT
Wed, 10 Mar 2021 03:46:09 GMT
Wed, 10 Mar 2021 13:24:02 GMT
Thu, 11 Mar 2021 05:37:44 GMT
Thu, 11 Mar 2021 01:48:41 GMT
Wed, 10 Mar 2021 17:13:52 GMT
Thu, 11 Mar 2021 03:43:19 GMT
Thu, 11 Mar 2021 05:11:13 GMT
'
'
etc

PS - 这是在 Python 3.9 上实现的


推荐阅读