如何批量下载 Youtube 视频
2019-04-09 12:54
941 查看
下载单个视频
如果只想下载某一个视频的话,通过一些网址就可以做到:
下载播放列表
通过上面网址人工一部部下载也是可以的,不过程序员对于这种重复的工作一般通过代码解决。
环境准备
首先需要一个能够科学、上网的工具。并且确保 Python 代码是经过该工具的。
- 通过 Pycharm 调用代码,可在 Setting 中设置 proxy
- 直接使用 CLI 调用,需要在代码中添加代理
其次,确保电脑上有 Python3,pip3 环境,然后安装以下库:
- pip3 install bs4
- pip3 install requests
- pip3 install lxml
脚本
from pytube import YouTube import requests from lxml import html import sys # proxies = {'http': 'http://localhost:1080', 'https': 'http://localhost:1080'} # 列表页的url play_list_url = "https://www.youtube.com/watch?v=QOaXm_9S9_0&list=PLIx8QniXH-rElLyjzNMSOXSTbOKsDShyu" # 文件下载路径 output_path = '.' # 文件下载名称,后续跟上集数,如:甄嬛传7 filename = '甄嬛传' result = requests.get(play_list_url) with open("youtube.html", "wb") as f: f.write(result.content) bs = html.fromstring(result.text) play_list = bs.xpath( '//div[@class="main-content"]/div[@class="playlist-videos-container yt-scrollbar-dark yt-scrollbar"]/ol/li/a') if len(sys.argv) > 1: # 从列表的第 7 集 开始下载 begin = sys.argv[1] # 到列表的第 8 集 开始下载 end = sys.argv[2] else: begin = 0 end = len(play_list) if begin is 0: print("下载全部:共",len(play_list),"集") for i in range(len(play_list)): print("正在下载第 %s 集..." % str(i + 1)) url = "https://www.youtube.com" + play_list[i].get('href') print('url:', url) YouTube(url).streams.first().download(filename=filename + str(i + 1), output_path=output_path) print("第 %s 集下载完成" % str(i + 1)) else: print("下载",sys.argv[1],"-",sys.argv[2],'集') for i in range(int(begin) - 1,int(end)): print("正在下载第 %s 集..." % str(i + 1)) url = "https://www.youtube.com" + play_list[i].get('href') print('url:',url) YouTube(url).streams.first().download(filename=filename + str(i + 1), output_path=output_path) print("第 %s 集下载完成" % str(i + 1))
使用
根据具体需求修改上述代码,url,下载路径,文件名称等。
默认下载全部,下载部分可传入参数,如:
# 下载 12 - 14 集 python script.py 12 14
相关文章推荐
- 如何下载Youtube的视频
- 如何下载 Youtube 视频的字幕?
- 如何下载youtube高清视频
- 如何下载youtube上面的视频
- 如何下载youtube上的视频
- 如何在 Linux 中使用 youtube-dl 下载视频
- 如何下载youtube的视频
- 如何下载 youtube 视频
- 如何从youtube直接下载视频
- 如何完美的下载youtube高清视频
- 如何从youtube上下载视频以及字幕
- 如何下载Youtube上的高清视频
- 如何下载土豆网、新浪播客、YouTube等的视频文件
- 如何从youtube下载视频文件
- 如何批量下载央视CNTV的节目视频
- 如何下载youtube网站上的视频
- 如何在 Linux 中使用 youtube-dl 下载视频
- 如何在YouTube下载视频