【发布时间】:2016-05-17 07:18:33
【问题描述】:
我正在尝试提取保存的 youtube 视频文件的位置(就像 youtube 下载器一样)。
当我使用 chromes 开发者工具时,我可以很容易地在网络部分看到对文件的 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(在 youtube.com 上)的 html-cocde 并提取和解码 .googlevideo url。但是这种方式不是很安全,因为我必须使用一些参数和值来设置 url,这些参数和值对于每个视频都可能需要或不需要。所以这种方式只适用于每一秒的视频......
有人知道获取文件位置的其他方法吗?
【问题讨论】:
标签: file video hyperlink download youtube