08月
10
手工获取56视频网站的FLV地址
文章分类:misc 查看次数:785 + 127
起因:在经典论坛的灌水区,看到了一篇关于刘德华的助奥新歌《Everyone is No. 1》的帖子,正好有链接,就过去看了一下,果然非同凡响,这么感人的MV,居然只用了三天。于是就想要down下来,随便在网上搜了一下“56 视频 下载”,居然没有一个网站提供该服务,别的方法倒是有,不过需要下载软件。不是吧,不用这么小题大作吧,那就自己动手把地址找出来吧。
flash地址还是很好找的,找到之后拷贝到浏览器里,一回车,56说该视频暂不对外开放,于是打开迅雷,先把flash下下来再说,下来之后用ASV查看了一下源码,好家伙,居然没有加密,那就休怪老孙了。
1个半小时后......(看代码确实挺头大的,不过56的代码还比较OOP,看的还是满舒服的)
找到了核心的代码,找到了flashvars,接下来就好办了,按照它上面的加密、重组,终于得到了flv的正确地址。
期间遇到了不少难点
- 变量替换:前面全用一个陌生的变量,然后在最后一行赋值,比如param = _root,害得我再各个class里找param
- 类的数量较多,不方便查看
- flashvars隐藏的比较深:一般的查看源文件是根本看不到的,哪怕你追根溯源,查找js文件,也不会有什么结果,这个时候FIREBUG就体现了它的强大,所以用FF吧。:)
最后为了方便,做了一个小程序,前提是要获得视频对应的flash的那串flashvars,就像这样
&img_host=v19.56.com&host=c23.56.com&pURL=22&sURL=14&user=pxppp&user_id=pxppp&URLid=1186543724_946&tag=军事,幽默,搞笑&Subject=让你笑死的军事幽默&totaltimes=79050&effectID=0&flvid=16462747&56.swf
然后把这串东西复制到那个文本框里,点击取得地址按钮就可以了。可以通过FIREBUG来取得(所以必须使用firefox)
没有相关文章,以下是随机为您推荐的文章
评论
共5 条评论 to “手工获取56视频网站的FLV地址”
发表评论

我的办法是用firebug直接抓包取它的flv地址..
你是否想太多了?
[回复此评论]
经你一提醒,原来firebug本身就能做到,绕弯了,绕弯了。
当时已经钻进牛角尖,无法自拔了,呵呵
[回复此评论]
请问用你的方法是如何获取flashvars这个字符串的呢?
查看页面源码,有一个_oFlv_o变量,值是一个加密字符串,是从这儿获取的吗?是的话该如何解密呢?
麻烦你在方便的时候在告知一下或给我发Email,不甚感激!
PS:Blog界面做得挺漂亮、清爽的。
[回复此评论]
页面源码里是找不到的,用firebug的inspect,然后点击播放器区域,就会显示整个object内容。
[回复此评论]
谢谢你的提醒,不过我发现其实是可以通过源码获取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地址了:)
[回复此评论]