uoryon
V2EX  ›  问与答

怎麼得到像youku那些swf裡面視頻的真實url?

  •  
  •   uoryon · Sep 3, 2013 · 14244 views
    This topic created in 4811 days ago, the information mentioned may be changed or developed.
    現在可以獲得swf
    http://player.youku.com/player.php/sid/XNjA0NDI1ODQ0/v.swf
    類似上面這樣, 但是怎麼才能直接得到swf裡面的視頻呢?
    45 replies  •  1970-01-01 08:00:00 +08:00
    ratatata
    ratatata
    Sep 3, 2013
    1
    嗅探?
    uoryon
    uoryon
    OP
    Sep 3, 2013
    2
    @ratatata 怎麼做, 求指教。
    subpo
    subpo
    Sep 3, 2013
    3
    每个优酷视频下方不就写着嘛
    uoryon
    uoryon
    OP
    Sep 3, 2013
    4
    @subpo 那個需要客戶端吧。 我要的是真實的url, 然後下下來。。
    linuxer
    linuxer
    Sep 3, 2013
    5
    如果仅仅是使用,可以尝试一下Firefox+DownloadHelper。
    yfdyh000
    yfdyh000
    Sep 3, 2013
    6
    硕鼠
    uoryon
    uoryon
    OP
    Sep 3, 2013
    7
    @linuxer 不是使用, 是開發。
    uoryon
    uoryon
    OP
    Sep 3, 2013
    8
    @yfdyh000 這是應用。。。我是要開發, 網頁流媒體下載的東西。。
    olnyshe
    olnyshe
    Sep 3, 2013
    9
    chrome扩展程序 adkill 试试 不过我记得以前试过某视频网站的.是分段的.下载下来是某一段不是全部

    yushiro
    yushiro
    Sep 3, 2013
    10
    @uoryon 你要把视频下载下来, 那这个swf是没有任何用处的, 因为swf就是一个播放器而已。
    uoryon
    uoryon
    OP
    Sep 3, 2013
    11
    @olnyshe 那是因為youku的視頻有分段, 所以會一段一段的, 他這個插件用了localstorage來檢測url, 我想做的不是瀏覽器插件,而是web應用程序, 所以不能依賴這些屬性。 能直接swf中拿到url就好了。。
    uoryon
    uoryon
    OP
    Sep 3, 2013
    12
    @yushiro 這個swf不是帶有視頻的真實url麼?
    wjchen
    wjchen
    Sep 3, 2013
    13
    将sid填到这里,不清晰的版本。 m.youku.com/pvs?id=XNjA0NDI1ODQ0&format=3gphd
    uoryon
    uoryon
    OP
    Sep 3, 2013
    14
    @wjchen 打開怎麼什麼都沒發生。。
    wjchen
    wjchen
    Sep 3, 2013
    15
    @uoryon 我这里能用弹出了一个mp4的下载对话框。
    olnyshe
    olnyshe
    Sep 3, 2013❤️1
    16
    @uoryon 那个swf就是个播放器.不是带视频URL.而是加了参数来播放指定的视频..就好像网上一些播放音乐的flash播放器一样...
    你是要找视频真正的源地址的吗?这种肯定内部有一些系统来处理这个的.外部抓不到的..就算抓到了我想除了他们自己的播放器调用.外部调用肯定也是不允许的吧
    Zhang
    Zhang
    Sep 3, 2013❤️1
    17
    有些资源并不存在url!通过cgi程序(比如video.php?vid=视频编号)就可以把文件内容透过http协议流窜到客户端。
    uoryon
    uoryon
    OP
    Sep 3, 2013
    18
    @olnyshe
    @Zhang

    那有沒有什麼辦法可以得到視頻的真實url呢?
    cacoo
    cacoo
    Sep 3, 2013
    20
    你要下载的话
    尝试下维棠吧
    subpo
    subpo
    Sep 3, 2013❤️1
    21
    @uoryon 分享里面有
    emric
    emric
    Sep 3, 2013❤️1
    23
    有时候嘛, 搜索一下就能找到答案 : 3
    https://github.com/iambus/youku-lixian
    uoryon
    uoryon
    OP
    Sep 3, 2013
    24
    @emric 這個有搜到過。。python看不懂。。。。。而且我需要的也是通用的。。
    uoryon
    uoryon
    OP
    Sep 3, 2013
    25
    @johnnyb
    @emric
    看來需要學習python了。
    uoryon
    uoryon
    OP
    Sep 3, 2013
    26
    @subpo 額, 剛剛沒看到。
    pubby
    pubby
    Sep 3, 2013
    27
    youku应该有一套自己的逻辑和接口来获得这些url的。

    通过反编译swf应该可以分析出这些逻辑和接口地址。

    另外如果是只要手机视频格式,可以分析一下youku手机版页面的js代码,里面有全套生成html5播放地址的方法。
    xiaocsl
    xiaocsl
    Sep 3, 2013❤️2
    28
    @uoryon

    我写了个视频订阅的小工具,因为比较懒,后续的要在平板上实现的功能懒得写了.跟你说一下吧.
    我获取主要通过,拦包,来查地址的.
    http://www.youku.com/player/getPlaylist/VideoIDS/XNjAyNjQxMzU2
    通过上面的链接可获得视频ID和TS值
    http://www.youku.com/player/getM3U8/vid/150660339/type/hd2/ts/MXNpXDcVgzc5BLAlAWpZRgA
    然后根据通过之前得到的VID和TS值,再选择要哪种清晰度,替换链接2中相应的值就可以了.
    得到整个视频的地址
    http://182.118.6.48/6572F76462F3D81D07F1EB6B4F/0300010F00521FA30A68FE07A719472D696166-1980-F017-BD6B-2B587785E6E3.flv.ts?ts_start=0&ts_end=5&ts_seg_no=0&ts_keyframe=1
    例如上面这个链接.
    通过修改链接3中的开始时间和结束时间,等参数,可以获得自己想要的视频.
    这是优酷的.


    其中TS值是有时效性的.如果你等会看到的时候无法正常访问,自己再通过链接1来重新获取一次TS值即可.



    通过链接2获取的地址
    xiaocsl
    xiaocsl
    Sep 3, 2013
    29
    @uoryon
    另外如果你不考虑清晰度的话,手机版页面的那种清晰度能满足的话.更简单,分析下JS源码就行了.
    momo5269
    momo5269
    Sep 3, 2013
    30
    FLV Download、vidown、FLVCD 、AcDown动漫下载器
    momo5269
    momo5269
    Sep 3, 2013
    31
    如果只是下载 用IE之类的直接选择最高清晰度版本 然后从缓存文件里拿不就得了
    xiaocsl
    xiaocsl
    Sep 3, 2013
    32
    @uoryon
    额..再次对了..

    如果你只是单纯的要下载视频,用硕鼠就行了.
    http://www.flvcd.com/
    ayang23
    ayang23
    Sep 3, 2013
    33
    youku有个客户端可以下载视频,你可以分析一下它怎么运作的,抓包分析一下。
    crapthings
    crapthings
    Sep 3, 2013
    34
    windows 上有一个叫 http://www.donationcoder.com/Software/Mouser/urlsnooper/

    可以探测 这个我个人感觉很好 在单位有需要时候就用这个
    kfll
    kfll
    Sep 4, 2013 via iPhone
    35
    打开Chrome的审查工具,切到网络(Network)标签,刷新页面,找尺寸几十M的请求
    yangqi
    yangqi
    Sep 4, 2013
    36
    随便google一下就有算法,挺简单的,或者直接搜别人写好的functions
    SharkIng
    SharkIng
    Sep 4, 2013
    37
    我觉得楼主是想做一个能下载优酷,土豆之类网站视频的工具/软件或者Chrome插件,所以才这么问

    28楼的办法可行,似乎是比较常用的了
    hengxin196
    hengxin196
    Sep 4, 2013
    38
    看一下 youtubedl 的实现 https://github.com/rg3/youtube-dl
    sdjl
    sdjl
    Sep 4, 2013
    39
    硕鼠能拿到真实地址, 这应该是通过大量的视频地址分析抓取得到的, 要想解决一两个视频是容易, 但是要想解决很多网站的问题恐怕就需要投入大量的人力成本了.

    至于楼主说的这个功能, 硕鼠提供收费服务, 每个月2500到5000的样子, 如果楼主能做到, 你可以只收别人1000, 恭喜你发了
    uoryon
    uoryon
    OP
    Sep 4, 2013
    40
    謝謝樓上各位了,看來自己也沒有嘗試用心查。手動的用Network我是可以下載, 但是還沒有總結出更一般的下載的方法, 現在去仔細看實現。
    OrbitTerminus
    OrbitTerminus
    Sep 4, 2013❤️1
    41
    曾经试过 想在手机上实现下载 但是没有成功

    主要没能解决问题
    1. 视频是被分段的
    2. 视频的分段地址不是一成不变的.
    uoryon
    uoryon
    OP
    Sep 4, 2013
    43
    @sdjl 有學長根據這個 “一种基于数据特征的流媒体内容下载” 寫了出來。 不過說的東西好像不是同一個。。他那個是在桌面開這個程序, 然後再上網看視頻, 再抓包,才下載下來。
    hit9
    hit9
    Sep 4, 2013
    44
    方法1: 右键审核元素,network,搜索.flv
    方法2: 搜索硕鼠
    方法3: https://github.com/iambus/youku-lixian
    regmach
    regmach
    Sep 4, 2013
    45
    遨游自带
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1337 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    ♥ Do have faith in what you're doing.