参考:
you-get:https://github.com/soimort/you-get
EditThisCookie 源码:https://github.com/ETCExtensions/Edit-This-Cookie
EditThisCookie 官网:https://www.editthiscookie.com/
you-get 是一个非常好用的命令行版视频下载工具,支持几乎所有主流的视频网站,例如:
# 安装 you-get,需要 Python >= 3.7.4 ,FFmpeg >= 1.0 ,具体的参考文档
pip3 install you-get
# 下载视频
you-get 'https://www.bilibili.com/video/BV1mB4y1e7Lh'
即可从 b 站下载视频。
但很显然的是,直接下载往往只能下载到低画质的,而且也无法下载需要会员的视频,所以需要登录后的 cookie。
参考 you-get 官方在 Readme 中的说明可知,目前 you-get 只支持 Mozilla cookies.sqlite
和 Netscape cookies.txt
两种格式的 cookies,所以我们需要找到一个符合格式的 cookies。
手动复制 cookies 显然是麻烦的,所以我采用了 EditThisCookie 这个插件来导出对应的 cookies。
首先在 EditThisCookie 的选项设置里将 选择cookies的导出格式
设置为 Netscape HTTP Cookie File
,这样一来,我们就能导出符合要求的 Netscape
格式的 cookies。
【导出按钮参考如下】
将复制的 cookies 粘贴到 txt 文件中保存即可,例如 cookies.txt ,后续调用时只需要指定文件位置即可,例如:
you-get 'https://www.bilibili.com/video/BV1mB4y1e7Lh' -c cookies.txt