Feedparser Python错误:KeyError:' title'

时间:2015-04-08 20:30:14

标签: python python-2.7 feedparser

我在网上看到了很多KeyCount错误,但没有一个与我遇到的麻烦完全匹配。我正在使用feed解析器来尝试创建一个运行应用程序,该应用程序访问文本文件中的所有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文件,每行有一个URL(3行)。

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

1 个答案:

答案 0 :(得分:2)

这里很难确切地说出错误,但在一般情况下,任何KeyError都是因为您尝试访问的数据并不完全符合您的预期。最好将您的假设抛到窗外,仔细查看代码正在使用的实际数据。

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