找回密码
 注册账号
搜索
查看: 3124|回复: 0

[技巧] 通过 python 和 youtube-dl.exe 批量下载 youtube 视频

[复制链接]

3087

主题

688

回帖

3万

积分

管理员

积分
31408

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020.4.24 12:08 | 显示全部楼层 |阅读模式
Windows 版


先下载安装python,并正确设置环境变量,一般情况下,安装的时候,勾选上 add python to path 即可。


下载python  https://www.python.org/downloads/


打开CMD

依次输入以下命令

  1. python -m pip install --upgrade pip
复制代码
  1. pip install youtube-dl
复制代码
  1. pip install --upgrade youtube-dl
复制代码


安装完成后,输入 youtube-dl 可以看一下是否正常安装



安装ffmpeg

打开这里,根据系统,手动下载安装  https://ffmpeg.zeranoe.com/builds/

解压出来,比如我下载的时候是  ffmpeg-20200422-2e38c63-win64-static ,打开100多兆
重命名文件夹为 ffmpeg ,移动到C盘根目录



给ffmpeg添加一个环境变量

此电脑 - 属性 - 高级系统设置 - 高级 - 最下面的环境变量

下面的系统变量 - 下滑,找到path选项,点击编辑


QQ截图20200424121820.jpg


在编辑环境变量中,点击新建,输入以下内容,最后确定保存

  1. C:\ffmpeg\bin
复制代码

QQ截图20200424121943.jpg


关掉CMD,重新打开CMD,输入以下内容,看一下ffmpeg是否正确安装

  1. ffmpeg -version
复制代码

出现了一大堆内容后,表示正确安装。

QQ截图20200424122133.jpg


某个软件要设置为全局代理,这个不多说。


PAC需要每个都添加这个命令

  1.   --proxy "https://127.0.0.1:1080"
复制代码

或者
  1.   --proxy 127.0.0.1:1080
复制代码


剩下的就是几个Youtubedl 的命令了

查看视频所有类型,只看不下载

  1. youtube-dl -F [url]
复制代码

这是一个列清单参数,执行后并不会下载视频,但能知道这个目标视频都有哪些格式存在

  1. youtube-dl --list-formats [url]
复制代码

下载指定质量的视频和音频并自动合并
  1. youtube-dl -f [format code] [url]
复制代码


通过上一步获取到了所有视频格式的清单,最左边一列就是编号对应着不同的格式.
由于YouTube的1080p及以上的分辨率都是音视频分离的,所以我们需要分别下载视频和音频,可以使用137+140这样的组合.

  1. youtube-dl -f 137+140 [url]
复制代码

好像1080P分辨率的视频基本都会选 137+140 ,一个是1080P的mp4视频,一个是m4a的音频,下载最后合并

比如这样,下载单个高清视频

  1. youtube-dl -f 137+140 https://www.youtube.com/watch?v=FsjnZq1cn0I
复制代码

如果系统中安装了ffmpeg的话, youtube-dl 会自动合并下下好的视频和音频, 然后自动删除单独的音视频文件。


如果视频没有1080P,只有720P的版本,720P一般都是包含音频的,一般情况下号码是22,直接下载即可,比如这样

  1. youtube-dl -f 22 https://www.youtube.com/watch?v=GAZ33sFnCSQ
复制代码



下载字幕的代码

  1. youtube-dl --write-sub --skip-download [url] //下载单独的vtt字幕文件,而不会下载视频

  2. youtube-dl --write-sub --all-subs [url] //下载所有语言的字幕(如果有的话)

  3. youtube-dl --write-auto-sub [url] //下载自动生成的字幕(YouTube only)
复制代码



下载视频列表

youtube-dl -f [format code] [palylist_url] //这种方式可以下载制定清晰度的mp4视频

  1. youtube-dl [playlist_url] //下载视频列表,这种方式下载的视频可能是mkv格式或者webm格式

  2. youtube-dl -cit [playlist_url] //下载视频列表,这种方式下载的视频可能是mkv格式或者webm格式

  3. youtube-dl --yes-playlist [url] //当链接为视频列表,则下载该列表视频,跟上面的一样,可能是mkv或者webm格式
复制代码

批量下载比较麻烦,要么下载720的画质的,要么一个个手动的选择画质下载后合成。

最后cmd界面这样表示正在下载了

QQ截图20200424122957.jpg

如果提示 HTTP Error 403: Forbidden 错误,运行一下下面的代码

  1. youtube-dl --rm-cache-dir
复制代码


youtube-dl 的github https://github.com/ytdl-org/youtube-dl
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

站点地图|童话镇

GMT+8, 2024.4.19 16:57 , Processed in 0.066255 second(s), 6 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表