如何使用pytube获取YouTube播放列表的视频链接数量
使用pytube统计YouTube播放列表视频数量
问题描述
我希望用pytube库统计YouTube播放列表里的视频链接数量,但当前代码会打印所有视频链接,而不是链接的数量。期望输出播放列表标题以及对应的视频数量(示例输出为9)。
原代码
from pytube import Playlist p = Playlist('https://www.youtube.com/playlist?list=PLRmF_eQXS6BnZb0PnIOvpxD6H8F04DfBX') print(f'Downloading: {p.title}') print((p.video_urls)) for video in p.videos: video.streams.first().download()
实际输出
Downloading: Bristol’s bday playlist ['https://www.youtube.com/watch?v=r7Rn4ryE_w8', 'https://www.youtube.com/watch?v=YhK2NwPIdt4', 'https://www.youtube.com/watch?v=4EQkYVtE-28', 'https://www.youtube.com/watch?v=CpTr4USXjQw', 'https://www.youtube.com/watch?v=dXJHDhKJ9Dw', 'https://www.youtube.com/watch?v=VKC_hzJ3jzg', 'https://www.youtube.com/watch?v=njvA03rMHx4', 'https://www.youtube.com/watch?v=GBvLVesLZmY', 'https://www.youtube.com/watch?v=JucvYrdSIcM']
期望输出
Downloading: Bristol’s bday playlist 9
解决方案
p.video_urls返回的是包含所有视频链接的列表,只需用len()函数获取该列表的长度,就能得到视频的总数。修改打印逻辑即可:
修改后的代码:
from pytube import Playlist p = Playlist('https://www.youtube.com/playlist?list=PLRmF_eQXS6BnZb0PnIOvpxD6H8F04DfBX') print(f'Downloading: {p.title}') # 打印视频链接的数量 print(len(p.video_urls)) for video in p.videos: video.streams.first().download()
运行这段代码后,会输出播放列表标题和对应的视频数量,同时保留原有的视频下载功能。
内容的提问来源于stack exchange,提问作者ex Des
相关产品推荐
相关产品推荐

