Ошибка Python Feedparser: KeyError: 'title'
Я видел много ошибок 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 с URL-адресом в каждой строке (3 строки).
Если кто-то может помочь нам, пожалуйста, дайте мне знать, и если вам нужна дополнительная информация, пожалуйста, не стесняйтесь спрашивать. Любая помощь приветствуется. Спасибо!
1 ответ
Трудно сказать, что именно здесь не так, но в общем случае любой KeyError
потому что данные, к которым вы пытаетесь получить доступ, не совсем то, что вы ожидали. Лучше всего выбросить ваши предположения в окно и внимательно посмотреть на фактические данные, с которыми работает ваш код.
Для отладки я бы рекомендовал внимательно посмотреть, что происходит до появления ошибки. Какова стоимость line
как вы читаете файл? Это правильно? Какова стоимость d
? Звонил ли f.parse(line)
привести к действительному объекту?