如何用Pytube批量下载CSV文件中的YouTube视频?
批量下载YouTube视频(从CSV读取链接)
针对你的需求,这里提供一个简单易理解的修改方案,适合入门阶段使用,同时加入基础错误处理避免单个无效链接导致程序中断:
from pytube import YouTube import csv # 设置下载目标路径,用双反斜杠或单斜杠都可以 DOWNLOAD_FOLDER = "D:\\" # 读取CSV文件(假设list.csv和代码在同一目录下) with open("list.csv", "r", encoding="utf-8") as csv_file: csv_reader = csv.reader(csv_file) # 若CSV第一行是表头(不是链接),保留这行跳过表头;无表头则删除此行 next(csv_reader) # 遍历每一行,逐个处理视频链接 for count, row in enumerate(csv_reader, start=1): video_link = row[0].strip() # 去除链接前后可能的空格 if not video_link: print(f"第{count}行无有效链接,跳过") continue try: print(f"开始下载第{count}个视频:{video_link}") yt = YouTube(video_link) # 筛选MP4格式的最高分辨率流 target_stream = yt.streams.filter(file_extension="mp4").get_highest_resolution() # 执行下载 target_stream.download(DOWNLOAD_FOLDER) print(f"第{count}个视频下载完成") except Exception as error: print(f"第{count}个视频下载失败:{str(error)}") print("所有批量下载任务处理完毕")
关键注意点:
- 若你的CSV文件第一行就是视频链接(无表头),请删除代码中的
next(csv_reader)这一行 - 如果CSV文件不在代码同目录,需要将
open("list.csv", ...)中的路径改为完整路径,例如"C:\\Users\\你的用户名\\Desktop\\list.csv" - 可根据需求修改
DOWNLOAD_FOLDER的路径,比如改成专门存放视频的文件夹
内容的提问来源于stack exchange,提问作者Daghs
相关产品推荐
相关产品推荐

