|
|
两个错:
一、SyntaxWarning: invalid escape sequence '\d'
报错位置:"https://kuwo.cn/api/v1/www/music/playUrl?mid=\d+"
在 Python 字符串里,反斜杠 \ 是转义符:
但 \d 在 Python 普通字符串中是非法转义,\d 只在 正则表达式 里才有意义(表示数字)。
这么写最好,原始字符串(最推荐)
- r"https://kuwo.cn/api/v1/www/music/playUrl?mid=\d+"
复制代码
二、KeyError: 'data'(真正导致程序崩的错误)
报错位置:r = requests.get(url).json()['data']['url']
含义:字典里 没有 data 这个 key,但你强行取了(错误):
这么改应该就没事了:
- import requests
- mid = input("请输入歌曲mid:")
- url = f"https://kuwo.cn/api/v1/www/music/playUrl?mid={mid}"
- headers = {
- "User-Agent": "Mozilla/5.0",
- "Referer": "https://www.kuwo.cn/"
- }
- resp = requests.get(url, headers=headers)
- data = resp.json()
- print(data) # 先看结构
- if data.get("data") and data["data"].get("url"):
- print("播放地址:", data["data"]["url"])
- else:
- print("获取失败")
复制代码 |
|