rbr*_*ito 15
正如其他帖子中所提到的,您可能希望在youtube-dl中查看我们的代码 (或者在Firefox扩展名为FlashVideoReplacer的代码中 ).
在youtube-dl的特定情况下,"实际工作"是在子类中完成的InformationExtractor,很难给出"稳定"的答案,因为这些网站的布局会不断变化.
有些信息不是动态的,例如视频的上传者,标题,上传日期,最重要的是视频的标识符(11个字符的字符串).
对于动态部分,可以说这些工具的基本原理是,这些视频生成的URL是动态生成的,您需要与服务器进行一些来回的通信.
重要的是要记住这些网站可以(并且确实)考虑的内容取决于许多参数,包括:您已经收到的cookie - 就像HTML5视频的情况一样,您的地理定位---用于区域控制,您的年龄 - 用于"强"材料,您的语言/区域 - 用于显示为您量身定制的内容等.
youtube-dl使用正则表达式从您提供的URL中提取视频ID,然后使用从美国使用的"规范化"典型URL,从中继续.
要收集的一些动态数据包括:
expire和fexp部分)itag最终网址的一部分)algorithm,burst,factor)signature最终URL 的一部分)上面列出的一些信息曾经不是必需的,但现在它们(特别是它们发送给您的cookie).这意味着上面列出的信息很可能会过时,因为控件变得更加严格.
您可以看到我在实现外部后端时使用外部下载程序("下载加速器")以及youtube-dl提取的内容中的一些工作(关于cookie).
Discloser:我已经对存储库进行了一些更改,并且我youtube-dl在Debian中维护了包(并且作为副作用,在Ubuntu中).