Python新手求助:如何用Pytube给播放列表视频标题与URL添加序号
问题分析与修复
你的代码存在几个关键问题:
for i in p循环里,i代表的是播放列表中单个视频的URL,不是你定义的计数器,后续的i +=1完全无效,还会覆盖初始的计数器变量。p.title是整个播放列表的标题,不是单个视频的标题;p.video_urls是所有视频URL的完整列表,不是当前循环视频的URL。- 要获取单个视频的标题,需要把当前视频的URL传入
YouTube对象来获取。
修正后的代码
from pytube import YouTube from pytube import Playlist # 替换成你的播放列表URL playlist_url = "your_playlist_url_here" p = Playlist(playlist_url) # 使用enumerate获取序数(从1开始)和对应的视频URL for idx, video_url in enumerate(p, start=1): # 创建YouTube对象获取视频标题 video = YouTube(video_url) # 打印编号、标题、URL print(f"{idx}. 标题: {video.title}") print(f" URL: {video_url}\n")
代码说明
enumerate(p, start=1)会自动生成从1开始的序数,同时遍历播放列表里的每个视频URL,无需手动维护计数器。- 通过
YouTube(video_url)获取单个视频的元数据,这里用到title属性提取视频标题。 - 格式化字符串
f"{...}"让输出格式更清晰易读。
内容的提问来源于stack exchange,提问作者ali ataei
相关产品推荐
相关产品推荐

