亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net
您需要 登录 才可以下载或查看,没有账号?立即注册
x
前段时间,我因公司需求。所以要去研究如何拿到视屏的播放地址。一般普通的网站的视屏播放地址还是很好拿到的。但是对于优酷,腾讯这样的大型视屏资源站就很难拿到视屏资源了。普通的网站你通过网页就可以直接抓取到视屏的播放地址。但是这些大型就不行,这些网站都是做了防盗链的。就拿优酷来讲,首先他用了自己的SWF播放器,然后服务器会异步加载一段参数到页面播放器上去。播放器内部会对这些参数进行一个解析,然后获取到视频的播放地址。这个解析过程是比较复杂的。 最开始我用fiddler4去抓包,还是能够抓到很多有用信息的。最开始想用逆向JS去做,但是后来发现它的东西好像和JS关系不太大,然后我又用jsop去抓关键代码,发现,他的视屏信息是通过异步加载的,表示jsoup抓不到,后来仔细观察发现,他的请求一本都是SWF播放器发出来的,没办法,只能把他的SWF抓下来,做了一个反编译后:(如果只是简单的网页套用的话,可以用它的swf然后去抓网页上name="flashvars" 段的value,然后把这段value发给swf后就能播放了。)
you-get 一个很强的视频地址抓取工具的方法
这边就是主要的东西。 大概知道优酷的大概加密方式就是 k.youku.com/player/getFlvPath+"/sid/"+$sid+"_"+No+"/st/"+thisVideoType+"/fileid/"+id 大概就是这个格式 sid 就是securityId 然后加上No(编号)然后后面的 fileId也是经过一系列加密的,并不是简单的ID。一般是会有一个token ,K ,ep 参数是比较重要的参数 最后拿这个地址你只是获取到了一串能够获取播放地址的JSON - [{"fileid":"0300080100579F87DDDF300157E54E465E9572-D357-57B7-15CA-646DEC5748A9.mp4","server":"http://117.41.231.17/youku/696AF5871C487D59853F424D/0300080100579F87DDDF300157E54E465E9572-D357-57B7-15CA-646DEC5748A9.mp4"}]
复制代码就如上面这个一样,虽然server能够获取到视频的地址,但是/youku/后面的那串乱码是一个SEED加密。也就是说没多少个小时就会变一次,也就是不可能一次拿到一个永远不变的地址的。 优酷的视频下载全是走的客户端,也就是说网页端想要抓取地址,普通的方法是行不通的。后来我对客户端进行一个数据抓包,然后惊奇的发现TMD根本抓不到任何有用信息,只能无奈的感叹这客户端太尼玛屌了。每次我点击下载新视频后再看看抓包信息,空空如也像什么也没发生过。没办反只能走反编译的路了。。(反编译工具免费版只能看,,不能复制更别说调试了。。、。。我操。。。) 扯了这么多,现在进入正题了。you-get 是一个强大的抓取视频的工具,原理就是上面的swf反编译后抓取了加密方式,然后对网页请求进行一个解析,然后从视屏站服务器中骗取地址出来。 首先这个语言是基于Python 的 先去官方下载最新的(至少3.0以上)的版本,因为这个版本自带pip3.下好后配好环境 然后打开cmd命令 输入 - pip3 install --upgrade you-get
复制代码来获取 you-get 获取成功后基本的使用方法上面链接有。 接下来就是关键了。 如果你是只想获取地址的话可以在前面 加 命令 - you-get --json youwannaURL
复制代码 即可获取到地址 通过pip3安装的东西一般放在 你的Python文件夹/Lib/site-packages/ 下 extractor.py 是main 层后的 功能能层。 可以进去看看 有很多方法 ,比如
you-get 一个很强的视频地址抓取工具的方法
you-get URL这种不带参数的话 就会执行这个download 的第一个if 的else语句 直接下载视频。如果有了 --json 参数的话,就是执行的这个if 下载的功能在 common.py里面
you-get 一个很强的视频地址抓取工具的方法
可以向我这样加一段来输出看。或者用return阻断下载,。 回到输出json这边来在json_output.py 下
you-get 一个很强的视频地址抓取工具的方法
可以向我这样,选取自己需要的字段,然后用文件的形式把它输出。皆大欢喜,拿到了地址了。 更多想要的功能可以自己改代码~
道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题!
如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服!
如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务! |