python - Python:从天才那里获取歌曲歌词 - 错误
问题描述
我正在努力使用 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
您的帮助将不胜感激。先感谢您!
问候,
维库
解决方案
查询输出保存到json
(或txt
)文件,即:
import json
import lyricsgenius as genius
api=genius.Genius('xxx')
artist=api.search_artist('Pink Floyd', max_songs=1) #max_songs=3, sort="title"
aux=artist.save_lyrics(filename='artist.json',overwrite=True,verbose=True)
with open("artist.json") as f:
j = json.load(f)
# do something with j...
但你也可以使用:
artist = api.search_artist("Andy Shauf", max_songs=3, sort="title")
print(artist.songs)
song = api.search_song("To You", artist.name)
print(song.lyrics)
参考:
推荐阅读
- .net - 具有 .net 核心的多个复杂对象
- java - 与复合键的 JPA ManyToMany 关系为 ID 返回 null
- javascript - 如何在此 javascript 中添加链接?
- r - 指向闪亮的 tabPanel 的外部超链接
- javascript - 如何将本地 javascript 对象与远程 json 数据库(例如 firebase)同步
- tesseract - tesseract 5 不会识别几个不费吹灰之力的个位数,任何指针都会非常受欢迎
- javascript - Firebase CORS XMLHttpRequest 已被阻止的问题
- ios - iOS React Native:添加除 Debug 和 Release 之外的构建配置
- c - 在 stm32f103c8t6 Blue Pill 中启用输出端口
- angular - nativescript-background-http 分离视图