V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
djyde
V2EX  ›  分享创造

VSiteParser - 视频URL解析框架

  •  
  •   djyde ·
    djyde · 2012-06-23 11:37:27 +08:00 · 5434 次点击
    这是一个创建于 4535 天前的主题,其中的信息可能已经有所发展或是发生改变。
    VSiteParser是一个可以把在线视频URL解析成swf地址的js框架,目前已经支持优酷,土豆,56,酷6,凤凰网,bilibili.

    而这不仅可以用于前端,也可以在node.js上面使用.只需要安装npm包( ` npm install vsparser `)即可.

    详细请猛戳github项目地址: https://github.com/djyde/VSiteParser
    18 条回复    1970-01-01 08:00:00 +08:00
    eerie
        1
    eerie  
       2012-06-23 11:46:34 +08:00   ❤️ 1
    eerie
        2
    eerie  
       2012-06-23 11:47:42 +08:00
    链接的repo给楼主参考,你们可以互相交流下...
    djyde
        3
    djyde  
    OP
       2012-06-23 11:58:41 +08:00
    @eerie 非常棒...我正想要增加一个API用来解析成flv....
    lizheming
        4
    lizheming  
       2012-06-23 12:04:09 +08:00
    额,想问下能顺带解析到缩略图么..
    djyde
        5
    djyde  
    OP
       2012-06-23 13:08:52 +08:00
    @lizheming 这里不能上图啊
    fanzeyi
        6
    fanzeyi  
       2012-06-23 13:16:23 +08:00
    djyde
        7
    djyde  
    OP
       2012-06-23 13:23:50 +08:00
    @fanzeyi 神奇......一周前想做个项目要实现插入视频,就做了VSiteParser,居然有人和我有一样的想法............
    lizheming
        8
    lizheming  
       2012-06-23 13:43:41 +08:00
    @djyde 额..我的意思跟@aligo的一样,就是顺带解析几张截图..PS:求增加新浪博客的支持,感觉新浪博客的解析有点恶心。。。
    djyde
        9
    djyde  
    OP
       2012-06-23 13:51:26 +08:00
    @lizheming - -我还以为你要看看demo的截图....还特意在readme上面加了图片......原来你是说取帧的支持...会逐步更新的,未来计划会增加两个APIs,一个用以取视频的一个帧,一个用以取flv地址
    lizheming
        10
    lizheming  
       2012-06-23 13:58:26 +08:00
    @djyde 自行取帧这想法不错~期待~~
    aligo
        11
    aligo  
       2012-06-23 16:54:27 +08:00
    @fanzeyi Thx
    @djyde 目前各个网站api的开放程度都不高,拿到swf算是比较基本的用法,不过很多情况下肯定是不够用了。取帧的话只能是下载下来再用ffmpeg截,太费劲了
    willwen
        12
    willwen  
       2012-06-23 17:17:56 +08:00
    @djyde 这个要用到ffmpeg。。
    djyde
        13
    djyde  
    OP
       2012-06-23 19:05:47 +08:00
    @willwen 知道
    ljbha007
        14
    ljbha007  
       2012-08-20 15:50:08 +08:00
    @eerie 看了下你的代码

    其余部分都挺好理解的,就是这一段代码不知你是怎么算出来的,能否分享一下你的方法?

    def find_video(info, stream_type=None):
    ....
    seed = info['data'][0]['seed']
    source = list("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\:._-1234567890")
    mixed = ''
    while source:
    seed = (seed * 211 + 30031) & 0xFFFF
    index = seed * len(source) >> 16
    c = source.pop(index)
    mixed += c

    我能想到的办法就只有两个:
    1.开wireshark去抓包,然后对获取到的视频URL和JSON的数据进行猜测和比较;

    2.逆向工程优酷的播放器

    3.逆向工程优酷的视频下载客户端

    4.社会工程学
    sun391
        15
    sun391  
       2012-08-24 11:25:38 +08:00
    抓取m3u8格式是最方便的,取帧、下载都很easy···

    用nodejs就跟方便了
    fofoone
        16
    fofoone  
       2012-08-24 11:29:33 +08:00
    @ljbha007 优酷固定的算法。。。应该算是 公开的秘密了。。。。
    ljbha007
        17
    ljbha007  
       2012-08-24 11:30:25 +08:00
    @sun391 嗯 的确是这样 我后来也发现了
    ljbha007
        18
    ljbha007  
       2012-08-24 11:31:04 +08:00
    @fofoone 我想知道的是最开始是谁弄出来的 怎么弄出来的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:58 · PVG 13:58 · LAX 21:58 · JFK 00:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.