You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python版YouTube下载器argv索引越界问题求助

解决Python YouTube下载器的IndexError问题

错误原因

IndexError: list index out of range是因为你运行脚本时没有传入YouTube链接作为命令行参数。sys.argv列表里默认只有脚本文件名这一个元素,argv[1]试图访问不存在的第二个元素,所以触发索引越界错误。


解决方案

方法1:通过命令行传参运行

打开终端,切换到脚本所在目录,运行时在脚本名后加上YouTube链接:

python yt_downloader.py "https://www.youtube.com/watch?v=你的视频ID"

方法2:修改代码支持手动输入链接(更适合新手)

如果不想每次用命令行传参,改成让用户输入链接的方式,操作更简单:

# 必须导入pytube的YouTube类
from pytube import YouTube

# 让用户手动输入视频链接
link = input("请输入YouTube视频链接:")
yt = YouTube(link)

print("Title: ", yt.title)
print("View: ", yt.views)

yd = yt.streams.get_highest_resolution()
# 若YTfolder目录不存在,要么提前创建,要么改为当前目录(直接写yd.download())
yd.download('./YTfolder')

额外注意事项

  1. 原代码缺少from pytube import YouTube导入语句,必须补上,否则会报NameError: name 'YouTube' is not defined。
  2. 确保已安装pytube库,未安装的话在终端执行:pip install pytube
  3. 如果./YTfolder目录不存在,下载时会报错,建议提前创建该文件夹,或者将下载路径改为当前目录(去掉路径参数,直接用yd.download())

内容的提问来源于stack exchange,提问作者papayacodding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:12:37