【随笔】yt-dlp使用cookie完成身份认证&& python yt-dlp库常用参数

以前用yt-dlp做的软件:
在这里插入图片描述

但是部分网站需要在登录状态才能获取更高格式的内容。

比如(本文使用的是我的视频):该网站需要携带身份信息才能获取高质量格式
在这里插入图片描述

某些网站是不用的:

yt-dlp -F https://www.youtube.com/watch?v=7H7cTSml5zk

在这里插入图片描述

一种身份认证方式是使用用户名+密码的方式,另一种是携带cookie

我倾向于使用cookie。(本文以Windows为例)

Cookie(HTTP Cookie)是一个小型的文本文件,由网站服务器发送给用户浏览器,然后由浏览器存储在用户的计算机上。它是由网站创建的,包含着网站的一些数据,这些数据是在用户访问网站时保存在用户本地的。

一、提取cookies

首先需要你在浏览器中登录对应的网站(你要下载视频的网站)。

1.1 不提取出来

使用 --cookies-from-browser 参数,例如:

 yt-dlp --cookies-from-browser edge -F https://www.bilibili.com/video/BV1Mu4y1P7kz?t=5.0

在这里插入图片描述

注意:

  1. 你在什么浏览器登录,后面就写什么浏览器的名字,比如chrome、edge、fierfox。
  2. yt-dlp使用的是C:\Users\14134\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies这个文件(以chrome为例)。只需要指定浏览器名称即可,不用写具体路径。
  3. Cookies这个文件不能同时被多个进程使用,使用yt-dlp时,需要关闭对应的浏览器,去任务管理器关闭这个浏览器的所有相关任务,否则会报错权限不足。

1.2 提取为单独文件

为了方便,可以把cookie提取出来,以后使用提取的cookie文件即可。注意不要泄露提取后的cookie文件

使用:

yt-dlp --cookies-from-browser chrome --cookies 2.txt

该命令会提取chrome浏览器中所有的cookie保存到2.txt文件中。 不要泄露cookie,某些网站通过修改cookie等操作就能登录到你的账号。 (比如一个有名的刷题网站)

1.2 使用cookies

使用提取出的cookie文件来获取视频,如:

yt-dlp --cookies 2.txt -F https://www.bilibili.com/video/BV1Mu4y1P7kz?t=5.0

在这里插入图片描述
8K:
在这里插入图片描述


下面是凑字数的。

二、yt-dlp 用法(python库)

基础用法:

import yt_dlp

url = '视频或音频的URL'
ydl_opts = {}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])


参数配置:

基本参数

  1. format: 指定下载的格式。可以是一个格式字符串,比如 'bestvideo+bestaudio/best',也可以是格式码,比如 '137+140'
  2. outtmpl: 指定输出文件名模板。可以包含 %() 的占位符,如 %(title)s.%(ext)s
  3. quiet: 静默模式,不显示下载信息。
  4. no_warnings: 禁用警告信息的显示。
  5. ratelimit: 限制下载速度,单位为字节每秒。
  6. proxy: 设置代理,如 'http://your_proxy_server:port'

视频参数

  1. writesubtitles: 下载视频的字幕。
  2. writeautomaticsub: 下载自动生成的字幕。
  3. allsubtitles: 下载所有可用的字幕。
  4. subtitleslangs: 指定下载的字幕语言,如 ['en', 'zh']
  5. thumbnail: 下载视频的缩略图。
  6. writeinfojson: 下载视频的信息为 JSON 文件。

播放列表参数

  1. extract_flat: 将播放列表中的所有视频平铺下载。
  2. playliststart: 指定下载的播放列表的起始位置。
  3. playlistend: 指定下载的播放列表的结束位置。

高级参数

  1. ignoreerrors: 忽略下载错误,继续下载其他视频。
  2. postprocessors: 后处理器,可以用来转换视频格式等。
  3. keepvideo: 保留视频文件。
  4. max_downloads: 最大下载数量。
  5. noplaylist: 不下载播放列表,即使是单个视频。
  6. nooverwrites: 不覆盖已经存在的文件。
  7. writethumbnail: 将缩略图写入视频文件。

例如:
在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感谢地心引力

有用的话请我喝杯咖啡吧????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值