【发布时间】:2020-03-03 12:18:13
【问题描述】:
我正在努力使用 API 从天才那里获取歌曲歌词。保存后,我在从 JSON 文件中提取标题和歌词时遇到问题。请在下面查看我的代码。
import lyricsgenius as genius
api=genius.Genius('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
artist=api.search_artist('Beyonce') #max_songs=3, sort="title"
aux=artist.save_lyrics(filename='artist.txt',overwrite=True,skip_duplicates=True,verbose=True)
titles=[song['title'] for song in aux['songs']]
lyrics=[song['lyrics'] for song in aux['songs']]
我遇到的错误是:
TypeError Traceback (most recent call last)
<ipython-input-21-4a24319b20b5> in <module>
----> 1 titles=[song['title'] for song in aux['songs']]
2 lyrics=[song['lyrics'] for song in aux['songs']]
TypeError: 'NoneType' object is not subscriptable
您的帮助将不胜感激。提前谢谢!
问候,
维库
【问题讨论】:
-
你能放 aux 的样本吗?
-
artist.save_lyrics()不返回任何内容。根据here找到的源代码,它只是将其保存到一个json文件中。编辑:这就是为什么aux是None。 -
@Codennewbie 和 Hampus,你是对的。 aux 没有,因此它给出了错误。那么我应该导入 json 并从保存的文件中读取数据吗?
标签: python api compiler-errors nonetype genius-api