27142556 发表于 昨天 21:24

酷我音乐爬虫下载 无法运行

本帖最后由 27142556 于 2025-12-29 21:29 编辑

六行代码爬取酷我音乐 传送

上面是一位鱼油写的程序,可是我执行后报错了,这是为什么?
有没有大佬解答一下,具体看下面的视频

https://www.bilibili.com/video/BV1mfvxBrEg4/?spm_id_from=333.1387.homepage.video_card.click&vd_source=70effed2c2779dc9412ca8a6eca6e349

FishC 发表于 昨天 21:24

上面是一位鱼油写的程序,可是我执行后报错了,这是为什么?

鱼油你好!程序报错可能有多种原因,由于无法观看你的视频,我将基于常见问题为你分析。六行代码的酷我音乐爬虫通常使用 requests 库进行网络请求,但若环境或代码有误,就会报错。

常见报错原因及解决方法:


[*]依赖库未安装:爬虫代码可能需要 requests 或 json 等库。请确保已通过 pip 安装。

pip install requests

[*]网络连接问题:检查网络是否稳定,或尝试使用代理。
[*]网站反爬机制:酷我音乐可能有反爬虫措施,需要添加请求头(如 User-Agent)模拟浏览器。
[*]代码语法错误:六行代码可能存在拼写错误或缩进问题。请检查代码是否完整。
[*]API 接口变更:酷我音乐的接口可能已更新,导致旧代码失效。
[*]权限问题:确保运行脚本的目录有写入权限(用于保存音乐文件)。


建议:
如果你能提供具体的报错信息或代码片段,我可以更精准地帮你排查。例如,错误信息会显示是网络超时、解析错误还是其他问题。

请尝试检查以上几点,尤其是安装依赖库和添加请求头。希望这能帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

不二如是 发表于 昨天 22:39

两个错:



一、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]
查看完整版本: 酷我音乐爬虫下载 无法运行