file - YouTube获取视频文件链接

标签 file video hyperlink download youtube

我正在尝试提取已保存的youtube视频文件的位置(就像youtube下载程序一样)。

当我使用Chrome开发人员工具时,可以在网络部分轻松地看到对该文件的GET请求。例如:

Request URL:ttps://r7---sn-35cxacf-43ce.googlevideo.com/videoplayback?sver=3&expire=1454883491&upn=tsTA82e-o9E&itag=251&id=o-APaDOeTiHGebIWBx11PdJn2W306GFYIoYkYRzOOCnq8o&mn=sn-35cxacf-43ce&mm=31&keepalive=yes&pl=32&ip=2a02%3A8071%3A2782%3A8c00%3Ad8e%3Aeb17%3Ab477%3Ad45b&ms=au&mv=m&mt=1454861758&ipbits=0&initcwndbps=1905000&clen=5116592&sparams=clen%2Cdur%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&key=yt6&gir=yes&fexp=3300130%2C3300161%2C3310848%2C3312381%2C3312708%2C9406984%2C9416126%2C9420452%2C9422596%2C9423661%2C9423662&mime=audio%2Fwebm&requiressl=yes&lmt=1449558944068050&dur=308.401&source=youtube&cpn=TrlaqPAJmEUJLKte&alr=yes&ratebypass=yes&signature=704658DBE8F05AC56D741F2061B2F16B0B5F37DD.6929579BD72F61B1401C96078192EC20BA8CE6EC&c=WEB&cver=html5&range=781669-1125882&rn=9&rbuf=43086
Request Method:GET
Status Code:200 OK
Remote Address:[*****address*****]:443

如果删除一些最后的参数(从c = WEB开始),则会得到位置(see here) *。但是,如何通过代码获取此“请求URL”?我需要分析网络流量吗?还是有其他方法?

*它只获取视频文件的声音-没关系。声音在4秒钟后开始。

我尝试的第二种方法:
获取正常youtubevideo的html编码(在youtube.com上),并提取和解码.googlevideo网址。但是这种方式不是很安全,因为我必须使用一些参数和值来设置url,而每个视频都可能需要或不需要这些参数和值。因此,这种方式仅适用于第二个视频...

有人知道获取文件位置的其他方法吗?

最佳答案

URL可通过ytplayer.config.args对象获得。请记住,如果他们“保护”了视频,您将不得不跳过一些严重的陷阱才能获得可用的URL,甚至可能还没有。

How do all of these “Save video from YouTube” services work?

关于file - YouTube获取视频文件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35255903/

相关文章:

python - 覆盖以前提取的文件而不是创建新文件

c# - LINQ和nHibernate教程视频

android - Air Mobile 中的 StageVideo 回退不起作用。视频组件无法播放 .mp4

javascript - 使用 javascript 自动单击超链接

jquery - 如何制作图像以便在单击时在同一页面上打开更大的图像(相同的图像)?

html - 为什么这个图像 sprite 菜单不能正确显示,为什么链接不起作用?

python - 是否有 numpy.save(file, arr) 的替代方法可以与 pypy 一起使用?

java - 创建使用外部 XML 文件的可执行 JAR 文件

java - 为 J2ME 应用程序中使用的一组 key 对值编制索引

全屏模式下的 Android HTML5 视频