
两天前,我写了一个python脚本,试图通过分析网页的源代码来获取优酷视频的下载地址. 结果,我只能获得视频的纯播放地址,而通过下载纯播放地址获得的文件将无法正常播放视频.
以下是获取广播地址的方法(您希望看到的内容可以展开和折叠):


# 实验视频地址:http://v.youku.com/v_show/id_XMTY3OTYyODM2NA==.html?f=27873045&from=y1.2-3.2
# 解析到播放地址:http://static.youku.com/v1.0.0646/v/swf/loader.swf?VideoIDS=XMTY3OTYyODM2NA==&ShowId=0&category=98&Cp=0&Light=on&THX=off&unCookie=0&frame=0&pvid=1470928536391FWGhzj&uepflag=0&Tid=0&isAutoPlay=true&Version=/v1.0.159&show_ce=0&winType=interior&Type=Folder&Fid=27873045&Pt=1&Ob=1&plchid=&playmode=2&embedid=AjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw=&ysuid=1470556998734i3T&vext=bc%3D%26pid%3D1470928536391FWGhzj%26unCookie%3D0%26frame%3D0%26type%3D1%26fob%3D1%26fpo%3D1%26svt%3D0%26cna%3DpcwtEK7f7lUCAXDtLY6srtly%26emb%3DAjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw%3D%26dn%3D%E7%BD%91%E9%A1%B5%26hwc%3D1%26mtype%3Doth&cna=pcwtEK7f7lUCAXDtLY6srtly&pageStartTime=0
# 但这不是下载地址,汗
# 解析方法:
# <div class="player" id="player"...<object type="application/x-shockwave-flash"
# data="(.*?)" ... id="movie_player">...
# <param name="flashvars" value="(.*?)">...
# 正则提取出items,(.*?)处为提取对象,存储在items中
# items[0] = ‘http://static.youku.com/v1.0.0646/v/swf/loader.swf‘
# items[1] = ‘VideoIDS=XMTY3OTYyODM2NA==&ShowId=0&category=98&Cp=0&Light=on&THX=off&unCookie=0&frame=0&pvid=1470928536391FWGhzj&uepflag=0&Tid=0&isAutoPlay=true&Version=/v1.0.159&show_ce=0&winType=interior&Type=Folder&Fid=27873045&Pt=1&Ob=1&plchid=&playmode=2&embedid=AjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw=&ysuid=1470556998734i3T&vext=bc%3D%26pid%3D1470928536391FWGhzj%26unCookie%3D0%26frame%3D0%26type%3D1%26fob%3D1%26fpo%3D1%26svt%3D0%26cna%3DpcwtEK7f7lUCAXDtLY6srtly%26emb%3DAjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw%3D%26dn%3D%E7%BD%91%E9%A1%B5%26hwc%3D1%26mtype%3Doth&cna=pcwtEK7f7lUCAXDtLY6srtly&pageStartTime=0‘
# url = items[0] + ‘?‘ + items[1]
# url就是播放地址
查看代码

今天在研究盗窃链时,我想知道是否可以在优酷返回的软件包中直接找到视频的下载链接.
经过一秒钟的思考,我觉得这种方法应该可行,因此我打开了wireshark,这是数据包捕获的产物.
在开始播放时,请在Youku主页上单击视频,然后开始播放. 很多数据包将很快出现在wireshark中,我添加了过滤条件“ http”,因此它仅捕获与http协议相关的数据包.

它重点介绍了以信息中的GET请求开头的软件包,因为该软件包最容易分析,并且音频和视频图片的下载链接通常包含在这些软件包的应用程序层中.


例如,上面的图片是徽标的图片.
我在这里找到了与视频相关的软件包的链接,大概找到了两个:


这两个链接在打开时可以播放,但并非全部可用. 我点击了很多链接,可以播放的基本链接是广告...
然后优酷有些视频不能下载,我对/ youku的开头进行了关键分析,不要问我为什么,男人的本能= _ =

复制链接后,我尝试使用Thunder进行下载. 我发现文件很小,下载后无法播放.

有许多类似链接的部分. 他们下载的文件名相同,但大小不同,并且分别下载后无法播放. 我想这就是TCP协议块传输的关系.
这时,我在链接后面找到了一些参数,因此我将整个链接粘贴到记事本中,然后删除了这些参数.

获取一个新链接,将其复制到Thunder,然后发现它可以下载优酷有些视频不能下载,并且大小与以前不同.

我想这部影片应该可以正常播放,下载后可以流畅播放,这也是我在网页上播放的影片.

您基本上可以确认此方法是获取优酷视频下载链接,但是仍然存在一个小问题. 使用我们获得的链接下载的视频只有6分钟,而原始视频则只有26分钟. 您可以想象,视频下载应该是完整视频的一部分. 但是我认为其他部分的链接都在wireshark中. 您可以通过以相同方式分析软件包来获取其他部分的链接. 我在这里不会一一尝试.
这种获取优酷视频下载链接的方法是使用Wireshark软件捕获数据包,方法是抓取网络中传输的数据包并对其进行分析,直接获取所请求视频的地址,然后下载.
免费代码#:
获取优酷视频的下载链接(wireshark捕获分析)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-175087-1.html
此时此刻回击美利贱的痛击方法就是大力支持普京在中东的行动
火炮数量和舰速也远远超过北洋舰队