手工获取56视频网站的FLV地址

文章分类:misc  查看次数:785 + 127

起因:在经典论坛的灌水区,看到了一篇关于刘德华的助奥新歌《Everyone is No. 1》的帖子,正好有链接,就过去看了一下,果然非同凡响,这么感人的MV,居然只用了三天。于是就想要down下来,随便在网上搜了一下“ 视频 下载”,居然没有一个网站提供该服务,别的方法倒是有,不过需要下载软件。不是吧,不用这么小题大作吧,那就自己动手把地址找出来吧。

flash地址还是很好找的,找到之后拷贝到浏览器里,一回车,说该视频暂不对外开放,于是打开迅雷,先把flash下下来再说,下来之后用ASV查看了一下源码,好家伙,居然没有加密,那就休怪老孙了。

1个半小时后......(看代码确实挺头大的,不过的代码还比较OOP,看的还是满舒服的)

找到了核心的代码,找到了flashvars,接下来就好办了,按照它上面的加密、重组,终于得到了flv的正确地址。


期间遇到了不少难点

  • 变量替换:前面全用一个陌生的变量,然后在最后一行赋值,比如param = _root,害得我再各个class里找param
  • 类的数量较多,不方便查看
  • flashvars隐藏的比较深:一般的查看源文件是根本看不到的,哪怕你追根溯源,查找js文件,也不会有什么结果,这个时候FIREBUG就体现了它的强大,所以用FF吧。:)

最后为了方便,做了一个小程序,前提是要获得视频对应的flash的那串flashvars,就像这样

&img_host=v19..com&host=c23..com&pURL=22&sURL=14&user=pxppp&user_id=pxppp&URLid=1186543724_946&tag=军事,幽默,搞笑&Subject=让你笑死的军事幽默&totaltimes=79050&effectID=0&flvid=16462747&.swf

然后把这串东西复制到那个文本框里,点击取得地址按钮就可以了。可以通过FIREBUG来取得(所以必须使用firefox)

页面地址

评论

共5 条评论 to “手工获取56视频网站的FLV地址”

  1. tommyfan on 2007-08-15 1:48 pm
    Gravatar

    我的办法是用firebug直接抓包取它的flv地址..
    你是否想太多了?

    [回复此评论]

  2. lzyy on 2007-08-15 4:44 pm
    Gravatar

    经你一提醒,原来firebug本身就能做到,绕弯了,绕弯了。

    当时已经钻进牛角尖,无法自拔了,呵呵

    [回复此评论]

  3. brucelei on 2007-08-16 10:10 pm
    Gravatar

    请问用你的方法是如何获取flashvars这个字符串的呢?
    查看页面源码,有一个_oFlv_o变量,值是一个加密字符串,是从这儿获取的吗?是的话该如何解密呢?
    麻烦你在方便的时候在告知一下或给我发Email,不甚感激!

    PS:Blog界面做得挺漂亮、清爽的。

    [回复此评论]

  4. lzyy on 2007-08-16 11:19 pm
    Gravatar

    页面源码里是找不到的,用firebug的inspect,然后点击播放器区域,就会显示整个object内容。

    [回复此评论]

  5. brucelei on 2007-08-17 9:46 am
    Gravatar

    谢谢你的提醒,不过我发现其实是可以通过源码获取flashvars的:

    用下面这个js中的$:function(str)方法就可以把_oFlv_o变量解密了
    http://www.56.com/js/fly56/fShowFlv.js

    解密后的内容:
    {'id' : '16900697', 'exercise' : 'n', 'space_taxis' : '', 'user_id' : 'hellohanhan', 'indexGood' : 'n', 'public' : 'y', 'downFlv' : 'n', 'bookup' : 'n', 'chk_yn' : 'y', 'author' : 'y', 'box' : 'save', 'from' : 'u', 'filesize' : '6817008', 'totaltime' : '136000', 'save_time' : '1187188753', 'send_time' : '0', 'public_time' : '0', 'img_host' : 'v139.56.com', 'URL_host' : 'c28.56.com', 'URL_pURL' : '1', 'URL_sURL' : '13', 'URL_URLid' : 'zhajm_118718875372x', 'effectID' : '0', 'times' : '2', 'score' : '4', 'md5file' : 'c8e8367533e23d42ab96efe9a86cd346', 'score_count' : '2', 'pct' : 'u', 'EnId' : 'MTY5MDA2OTc', 'channel' : ['3']}

    根据这段内容就可以组合出真实的flv地址了:)

    [回复此评论]

发表评论