Closed luckyleitwo closed 1 month ago
需要吧 pycloudmusic/object/music163.py 第280行
def init 方法
def __init__(
self,
music_data: dict[str, Any]
) -> None:
print("12312312")
super().__init__(music_data)
# 资源类型
self.data_type = DATA_TYPE[0]
# 歌曲id
self.id = music_data['id']
# 标题列表 [大标题, 副标题]
self.name = [music_data["name"], " ".join(music_data["alia"])]
self.name_str = f"{self.name[0]} {self.name[1]}"
# 作者列表 [作者, 作者, ...]
self.artist = [{"id": artist["id"], "name": artist["name"]} for artist in music_data['ar']]
# 使用生成器表达式创建名字列表
artist_str = [author["name"] for author in self.artist]
# 检查生成器表达式结果
if artist_str != [None]:
self.artist_str = "/".join([author["name"] for author in self.artist])
else:
self.artist_str = '无法识别'
# 专辑列表
self.album_data = music_data["al"]
if "tns" in self.album_data:
self.album_str = self.album_data["name"] if self.album_data["name"] != [None] else "" + " " + (
self.album_data["tns"][0] if self.album_data["tns"] != [] else "")
else:
self.album_str = self.album_data["name"]
# 所有音质
self.quality = {
"h": music_data["h"],
"m": music_data["m"],
"l": music_data["l"],
"sq": music_data["sq"],
"hr": music_data["hr"],
}
# mv id
self.mv_id = music_data["mv"]
# 发表时间
if "publishTime" in music_data:
self.publish_time = music_data["publishTime"]
else:
self.publish_time = None
# 推荐理由
self.reason = music_data["reason"] if "reason" in music_data else None
# 歌曲时长
self.duration_ms = music_data["dt"]
self.duration = self.duration_ms / 1000
替换一下就可以了
['銀の龍の背に乗って', ''] 中島みゆき 1977900460 return future.result() File "/Users/shenglei/ls/ls-robot-GPT/NeteaseCloudMusic.py", line 16, in main for music in likeList: File "/Users/shenglei/ls/ls-robot-GPT/.venv/lib/python3.9/site-packages/pycloudmusic/object/music163.py", line 371, in next return Music(super().next()) File "/Users/shenglei/ls/ls-robot-GPT/.venv/lib/python3.9/site-packages/pycloudmusic/object/music163.py", line 296, in init self.artist_str = "/".join([author["name"] for author in self.artist]) TypeError: sequence item 0: expected str instance, NoneType found