前几天有个小姐姐想看《天使陷落》的大片问有没有资源的渠道。本着不给广大程序小老哥的脸,想也没想的就答应给小姐姐找资源。但是凄惨的是把以前经常用的网站烦了个遍都没有。

这点小问题肯定难不到勤奋的小老弟,一通谷歌、百度、dogedoge终于找了可靠资源。
既然现在资源这么匮乏,网站都找到了何不试试抓包看看接口。说干就干,按照一贯的操作流程,打开Chrome-开发者工具-NextWork-All


到这一步的时候,已经是觉得都成了,可是打开Postman跑接口一看,人都傻了。

接口参数抓到了就开始拿到我们需要的video路径。我们请求接口的参数返回的是html代码块。
!DOCTYPEhtmlhtmlheadmetacharset="UTF-8"metaname="viewport"content="width=device-width,initial-scale=1.0,user-scalable=no"metaname="referrer"content="never"title电影盒子/titlelinkrel="stylesheet"href=""styletype="text/css"body,html,.dplayer{padding:0;margin:0;width:100%;height:100%;background-color:#000;}a{text-decoration:none;}/style/headbodydivid="player"class="dplayer"/divscriptsrc=""/scriptscriptsrc=""/scriptscripttype="text/javascript"varisiPad=(/iPad|iPhone|Android|Linux|iPod/i)!=null;if(isiPad){('player').innerHTML='videosrc=""controls="controls"preload="preload"poster=""width="100%"height="100%"x-webkit-airplay="allow"/video';}else{varpic="";vardplayer=newDPlayer({element:("player"),autoplay:true,hotkey:true,preload:'auto',video:{url:'',pic:''}});}/scriptscriptvar_hmt=_hmt||[];(function(){varhm=("script");="";vars=("script")[0];(hm,s);})();/script/body/html
这个时候我们可以通过正则从下面代码块里,拿到video标签里面的src值。
videosrc=""controls="controls"preload="preload"poster=""width="100%"height="100%"x-webkit-airplay="allow"/video
说干就干,打开强大的IEDA,新建Springboot项目。在Maven配置加入Jsoup解析插件。
/groupIdartifactIdjsoup//version/depency
先通过Jsoup调用之前抓取到的接口解析得到Html。
/*****@Paramnull*@Author:tianminghai*@Date:5:28PM2019/11/15*/publicstaticStringgetVideoUrlForFengGou(StringapiUrl,Stringrefeurl)throwsException{//参数详情";id=7";refeurl="";Documenthtml=null;try{html=(apiUrl).header("referer",refeurl).get();}catch(IOExceptione){throwe;}StringvideoUrl=getHtmlVideoStr(()).get("src");("------原始数据:"+getHtmlVideoStr(()));if(("")){returnvideoUrl;}else{thrownewException("数据解析问题");}}
具体通过正则表达式解析网页得到video中的src值方法。
/***得到html中的videosrc**@Paramnull*@Author:tianminghai*@Date:5:25PM2019/11/15*/publicstaticMapString,StringgetHtmlVideoStr(StringhtmlStr){MapString,Stringpics=newHashMapString,String();StringregEx_video="video.*src\\s*=\\s*(.*?)[^]*?";Patternp=(regEx_video,_INSENSITIVE);Matcherm=(htmlStr);Stringvideo="";MapString,Stringmaps=newHashMapString,String();while(()){video=();MatchermPoster=("poster\\s*=\\s*\"?(.*?)(\"||\\s+)").matcher(video);MatchermSrc=("src\\s*=\\s*\"?(.*?)(\"||\\s+)").matcher(video);Stringposter="";Stringsrc="";while(()){poster=(1);}while(()){src=(1);}("poster",poster);("src",src);("srcs",src);}returnmaps;}
这个时候一切都准备就绪就差把数据通过接口来实现了,新建一个Controller。
@RestControllerpublicclassVideoController{@RequestMapping(value="/video")publicResultModeltest(){ResultModelresultModel=newResultModel();("成功");try{();JSONObjectobj=newJSONObject();("url",("",""));(obj);}catch(Exceptione){(_VIDEO);}returnresultModel;}}
cu-custombgColor="bg-main"isBack="{{true}}"viewslot="backText"返回/viewviewslot="content"列表/view/cu-customviewclass="sectiontc"videoid="myVideo"src="{{voideUrl}}"enable-danmudanmu-btncontrols/video/view
varhttp=require('../../utils/');Page({data:{voideUrl:''},onLoad:function(options){varthat=this;("-------")varprams={username:"1111",password:"123456"}("",prams,function(res){("----aa---"+)({voideUrl:,})},function(err){})},onReady(){}});
万事具备,来给我动作整齐划一的走起!
那么问题来了,今天下午小姐姐约我去吃饭,老哥们能否指点招?
版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。