2019 年 10 月

此为顽疾。

Download https://www.youtube.com/watch?v=62vXXl6o5_Q fail, info: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by HTTPError())
截图如下:

429.png

这个问题,甚为烦扰。
这是油管网的反扒机制。
too-many.png

翻遍youtube-dl论坛,此问题多而无解。
而此情况下,用浏览器访问油管,大抵会有如下结果:
about.png

通常,等待几个小时再试,可暂时解除此错误。这个时间,几小时不等。
若用SSR,可尝试切换节点,一般可行。

一种说法,来自于youtube-dl主创:
2019-10-22_171213.png

但总感觉,束手无策的感觉。
攻防自古对立。这么多人努力,希望能有比较好的方法,绕过此问题。

为账号系统设计,youtube-dl有支持cookie的接口,其cooke格式为Mozilla/Netscape格式,文件开始须有

# HTTP Cookie File

# Netscape HTTP Cookie File

标记。
此类cookie,可用浏览器插件cookie.txt导出:
cookie_get.png

参考其说明:How do I pass cookies to youtube-dl?

**How do I pass cookies to youtube-dl?**

Use the --cookies option, for example --cookies /path/to/cookies/file.txt.

In order to extract cookies from browser use any conforming browser extension for exporting cookies. For example, cookies.txt (for Chrome) or cookies.txt (for Firefox).

Note that the cookies file must be in Mozilla/Netscape format and the first line of the cookies file must be either # HTTP Cookie File or # Netscape HTTP Cookie File. Make sure you have correct newline format in the cookies file and convert newlines if necessary to correspond with your OS, namely CRLF (\r\n) for Windows and LF (\n) for Unix and Unix-like systems (Linux, macOS, etc.). HTTP Error 400: Bad Request when using --cookies is a good sign of invalid newline format.

Passing cookies to youtube-dl is a good way to workaround login when a particular extractor does not implement it explicitly. Another use case is working around CAPTCHA some websites require you to solve in particular cases in order to get access (e.g. YouTube, CloudFlare).



另一类cookie类型,为Annie所支持,在使用Annie情况下,可加载其站点cookie。
Annie同样也支持Mozilla/Netscape格式cookie。

这类cookie,在浏览器调试模式下,从其网址headers中取。以chrome浏览器为例,如图:
cookies.png
在这里,找到域名为所需要网站的URL链接,取它的cookie。
如此,可取出此网站的cookie。另存为txt文件,如baidu.txt。



那么,在CR TubeGet之[参数设置]中,可指定cookie文件所在位置:
cookie_set.png
当下载此站点视频时,CR TubeGet可根据视频URL域名,在其位置找对应站点的cookie。



若在IE浏览器中登录账号,那么CR自动获取cookie,对有些站点就有了可能。
这样,下载网站vip视频成为可能。对,就是这么简单!

B站真是个资源宝库,诸类视频,五花八门,浩如烟海。
有些海外视频,没有普通话音频,听不懂。好在有字幕可用,倒也无碍。在线看罢了,下载,没有字幕,仍然听不懂。
而youtube-dl本身并不支持B站字幕下载。
有用户需要,就研究其实现方法,终于可以下载其字幕。
功能尽在youtube-dl_cr.exe中……
其版本为2019.10.12版。
youtube-dl_cr.png

这里所说的字幕是外挂字幕,即在播放器下端,有CC这个标记。
CC.png

比如这条视频:https://www.bilibili.com/video/av35755631
bilibili.png
一黑人女解说跳绳历史。英文,我是听不太懂。
它有多种字幕:
b_subtitle.png
那么可以根据需要,择而下载。

在[参数设置]之字幕设置中,您可以输入字幕语言。
注意,这里是可以输入的,甚至可以输入多种语言,比如en,fr等,中间以英文逗号,分隔。
option_subtitle.png
设置之后,下载视频,字幕即可被下载,界面上以[CC]做标记:
cc_download.png
QQ图片20191012124743.png

但有时候,不知道字幕语言是哪种,怎么办?
比如:https://www.bilibili.com/video/av50099265
它只有一个字幕:
one-subtitle.png
这时候,参数设置中,可置为Default,下载默认的。但若选择zh-Hans,它不会被下载,因为它的语言是zh-CN。
坑吧!

如何看字幕语言?看网页源代码。其它种类字幕语言,亦用此法。
subtitle-code.png
那么,参数设置之字幕设置中,输入zh-CN,即可下载它。又因为只一个字幕,选择Default亦可下载。
OK,就是这样的