【问题标题】:AttributeError: object has no attribute 'published' when parsing CNN sourceAttributeError:解析 CNN 源时,对象没有“已发布”属性
【发布时间】:2021-06-08 11:25:18
【问题描述】:

自从解析 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)

Log

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

【问题讨论】:

  • published 存在关键错误,检查您的代码中是否定义了published,或者您是否已导入所有依赖项。此外,您正在进行迭代并将属性附加到迭代变量本身,这似乎不是正确的方法。您需要提供详细代码
  • 我发誓这是我最新的完整代码。我刚刚开始学习使用这个库,这个错误让我抓狂

标签: python-3.x feedparser


【解决方案1】:

要调试此问题,您应首先检查 published 是否是 keys 的一部分 news

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

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

>>> 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 上实现的

【讨论】:

    猜你喜欢
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2018-10-04
    相关资源
    最近更新 更多