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

VSiteParser - 视频URL解析框架

  •  
  •   djyde
    djyde 2012-06-23 11:37:27 +08:00 5758 次点击
    这是一个创建于 4863 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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     Solana     3223 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:23 PVG 19:23 LAX 04:23 JFK 07:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86