各类视频下载-youtube-dl使用

王 茂南 2020年2月7日07:39:50
评论
1 1405字阅读4分41秒
摘要这一篇介绍一个python的视频下载库, youtube-dl, 可以使用其很方便的在youtube上进行视频的下载. 这里简单说明一下各个参数, 和出现的一些问题和对应的解决方法.

简介

在 youtube 上下载视频是需要会员的,有的时候看一些短的视频还是有广告的,每次进广告就很麻烦。 所以想着可以将上面的视频下载下来观看,而 youtube-dl 就可以用来实现这样的功能,将 youtube 上面的视频下载下来进行观看。

这里也是记录一下常用的用法, 和可能出现的问题, 方便自己之后的查找.

Github链接Github---Youtube-dl

 

简单使用介绍

  • 版本查看: youtube-dl --version (会显示版本日期)
  • 整个list下载: youtube-dl --yes-playlist "url"
  • 输出文件夹: youtube-dl -o "file path" "url" (默认是下载命令行运行的那个文件夹)

视频的字幕一起下载

关于字幕的下载,可以有下面的几个选项可以选择:

  1. --write-sub                      Write subtitle file
  2. --write-auto-sub                 Write automatic subtitle file (YouTube only)
  3. --all-subs                       Download all the available subtitles of the video
  4. --list-subs                      List all available subtitles for the video
  5. --sub-format FORMAT              Subtitle format, accepts formats preference, for example: "srt" or "ass/srt/best"
  6. --sub-lang LANGS                 Languages of the subtitles to download (optional) separated by commas, use IETF language tags like 'en,pt'

使用的过程中,如果想要只下载字幕,不下载视频,可以像下面这样进行下载。

  1. youtube-dl --all-subs --skip-download https://www.youtube.com/watch?v=Ye8mB6VsUHw

 

下载使用代理

可以使用 --proxy 来指定下载时候使用的代理。

  1. youtube-dl --proxy socks5://127.0.0.1:1080  https://youtu.be/BaW_jenozKc

这里除了使用 socks5,还可以使用 http,或是 https。

可能的报错

ERROR: YouTube said: This video is unavailable

出现这个原因可能是youtube-dl的版本太老了. 我们首先查看使用的youtube-dl的版本

  1. youtube-dl --version

如果不是最新的版本, 更新到最新的版本.

  1. pip install --upgrade youtube-dl

 无法下载整个list

首先我们需要加上参数, --yes-playlist.

  1. youtube-dl --yes-playlist "url"

如果url中含有一些特殊的符号, 例如&等符号, 我们需要使用引号将整个url包住, 即"url"

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2020年2月7日07:39:50
  • 转载请务必保留本文链接:https://mathpretty.com/11748.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: