酷我音乐爬虫下载 无法运行
本帖最后由 27142556 于 2025-12-29 21:29 编辑六行代码爬取酷我音乐 传送
上面是一位鱼油写的程序,可是我执行后报错了,这是为什么?
有没有大佬解答一下,具体看下面的视频
https://www.bilibili.com/video/BV1mfvxBrEg4/?spm_id_from=333.1387.homepage.video_card.click&vd_source=70effed2c2779dc9412ca8a6eca6e349
上面是一位鱼油写的程序,可是我执行后报错了,这是为什么?
鱼油你好!程序报错可能有多种原因,由于无法观看你的视频,我将基于常见问题为你分析。六行代码的酷我音乐爬虫通常使用 requests 库进行网络请求,但若环境或代码有误,就会报错。
常见报错原因及解决方法:
[*]依赖库未安装:爬虫代码可能需要 requests 或 json 等库。请确保已通过 pip 安装。
pip install requests
[*]网络连接问题:检查网络是否稳定,或尝试使用代理。
[*]网站反爬机制:酷我音乐可能有反爬虫措施,需要添加请求头(如 User-Agent)模拟浏览器。
[*]代码语法错误:六行代码可能存在拼写错误或缩进问题。请检查代码是否完整。
[*]API 接口变更:酷我音乐的接口可能已更新,导致旧代码失效。
[*]权限问题:确保运行脚本的目录有写入权限(用于保存音乐文件)。
建议:
如果你能提供具体的报错信息或代码片段,我可以更精准地帮你排查。例如,错误信息会显示是网络超时、解析错误还是其他问题。
请尝试检查以上几点,尤其是安装依赖库和添加请求头。希望这能帮到你!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 两个错:
一、SyntaxWarning: invalid escape sequence '\d'
报错位置:"https://kuwo.cn/api/v1/www/music/playUrl?mid=\d+"
在 Python 字符串里,反斜杠 \ 是转义符:
[*]\n 换行
[*]\t 制表
但 \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,但你强行取了(错误):
response_json['data']
这么改应该就没事了:
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("获取失败")
页:
[1]