Python下载YouTube音频脚本无响应问题求助
排查思路
检查依赖版本与兼容性
pafy依赖youtube-dl(或更活跃的yt-dlp),先确认依赖是否正常:- 执行
pip list查看pafy、youtube-dl/yt-dlp是否已安装 - 若使用youtube-dl,执行
pip install --upgrade youtube-dl更新版本;或替换为yt-dlp:pip install yt-dlp,并在代码中指定使用yt-dlp:import pafy pafy.set_options(ydl_path="yt-dlp")
- 执行
修复链接格式问题
读取文件时,每行末尾会带有换行符\n,导致URL无效,需用url = line.strip()去除首尾空白字符(包含换行、空格)。取消静默异常捕获
原代码except: pass会隐藏所有错误信息,改为捕获并打印异常,直接定位问题:except Exception as e: print(f"处理链接 {url} 失败: {str(e)}")验证文件读取有效性
先确认脚本能正确读取list.txt内容,可在循环前添加print(file.read())测试;或改用更安全的with语句管理文件:with open('list.txt', 'r') as file: for line in file: url = line.strip() # 后续逻辑不变排查网络与访问限制
手动在浏览器打开list.txt中的链接,确认视频可正常播放(无地区限制、已删除等情况);若需代理访问YouTube,给pafy配置代理:pafy.set_options(proxy="http://你的代理地址:端口")配置YouTube API密钥(可选)
无API密钥时pafy易触发请求限制,去Google Cloud申请YouTube Data API密钥后,在代码中设置:pafy.set_api_key("你的API密钥")
内容的提问来源于stack exchange,提问作者Xeldin
相关产品推荐
相关产品推荐

