【问题标题】:Feedparser Python Error : KeyError : 'title'Feedparser Python 错误:KeyError:'title'
【发布时间】:2015-04-08 20:30:14
【问题描述】:

我在网上看到了很多 KeyCount 错误,但没有一个完全符合我遇到的问题。我正在使用提要解析器尝试创建一个运行应用程序,该应用程序访问文本文件中的所有 URL 并输出每个 URL 中的所有条目。当我运行这段代码时:

     import feedparser as f

     with open('addresses.rtf', 'r') as addresses:
         for line in addresses:
             d = f.parse(line)

            print d["feed"]["title"]
             print ""
             print d.feed.subtitle
             print ""

             for post in d.entries:
                 print post.title
                 print post.link
                 print ""

我收到此错误消息:

     Traceback (most recent call last):
       File "/Users/Josh/Desktop/Feed Parser Python Project/init.py", line 7, in <module>
print d["feed"]["title"]
       File "build/bdist.macosx-10.6-intel/egg/feedparser.py", line 375, in __getitem__
return dict.__getitem__(self, key)
     KeyError: 'title'

我的文本文件只是一个 .rtf 文件,每行(3 行)都有一个 URL。

如果有人可以帮助我们,请告诉我,如果您需要任何额外信息,请随时提出。欢迎任何帮助。谢谢!

【问题讨论】:

  • 您需要在打开“富文本格式”[rtf] 文档之前将其转换为纯文本。或者找到一些可以处理 RTF 的库。
  • 在此处复制粘贴一些行

标签: python python-2.7 feedparser


【解决方案1】:

这里很难准确说出哪里出了问题,但在一般情况下,任何KeyError 都是因为您尝试访问的数据与您预期的不完全一样。最好抛开你的假设,仔细看看你的代码正在使用的实际数据。

对于调试,我建议仔细查看错误之前发生的情况。当您阅读文件时,line 的值是多少?这是正确的吗? d 的值是多少?对f.parse(line) 的调用是否产生了有效对象?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    相关资源
    最近更新 更多