//一、分页数:电影
function importFilmPages($vtype, $cate_code, $cate_name)
{for($i = 2; $i >= 1; $i--){echo $cate_code.' page='.$i.PHP_EOL;importVideoList($vtype, $i, $cate_code, $cate_name);}
}//一、分页数:恐怖
function importHorrorPages($vtype, $cate_code, $cate_name)
{for($i = 2; $i >= 1; $i--){echo $cate_code.' page='.$i.PHP_EOL;importVideoList($vtype, $i, $cate_code, $cate_name);}
}//一、分页数:电视剧
function importDianshijuPages($vtype, $cate_code, $cate_name)
{for($i = 2; $i >= 1; $i--){echo $cate_code.' page='.$i.PHP_EOL;importVideoList($vtype, $i, $cate_code, $cate_name);}
}//一、分页数:综艺
function importZongyiPages($vtype, $cate_code, $cate_name)
{for($i = 2; $i >= 1; $i--){echo $cate_code.' page='.$i.PHP_EOL;importVideoList($vtype, $i, $cate_code, $cate_name);}
}//一、分页数:动漫
function importDongmanPages($vtype, $cate_code, $cate_name)
{for($i = 2; $i >= 1; $i--){echo $cate_code.' page='.$i.PHP_EOL;importVideoList($vtype, $i, $cate_code, $cate_name);}
}//二、视频列表
function importVideoList($vtype, $page, $cate_code, $cate_name)
{global $apisever_url;//第一步:获取电影栏目中某个分页列表$one_url = $apisever_url . '/type/' . $vtype . '/' . $page . '.html';$one_htmldata = curl_request($one_url);// 新建DOM实例$one_html = new simple_html_dom();$one_html->load($one_htmldata);//echo $one_html;foreach($one_html->find('div.movie-item') as $dv) {$vid = $dv->find('a', 0)->href;$vid = str_replace('/show/', '', $vid);$vid = str_replace('.html', '', $vid);echo $vid.PHP_EOL;//setVideoStatus($vid);if(!empty($vid)) importVideoData($vid, $cate_code, $cate_name);}}//三、视频内容
function importVideoData($vid, $cate_code, $cate_name)
{global $mbdb, $apisever_url;//第一步:获取某部电影$media_url = $apisever_url . '/show/' . $vid . '.html';$media_htmldata = curl_request($media_url);// 新建DOM实例$media_html = new simple_html_dom();$media_html->load($media_htmldata);//echo $one_html;//媒体名称$media_name = $media_html->find('li.active', 1)->innertext;$media_name = str_replace('\\', '', $media_name);$media_name = str_replace('\'', '', $media_name);//剧情介绍$description = $media_html->find('p.summary', 0)->innertext;$description = str_replace('<br />', '', $description);$description = str_replace('  ', '', $description);$description = str_replace('\'', '', $description);//封面图片地址$coverimg = $media_html->find('img.img-thumbnail', 0)->src;$coverimg = trim($coverimg);if(empty($media_html->find('td.span2', 0)->next_sibling())) return;//导演$director = $media_html->find('td.span2', 0)->next_sibling()->innertext;$director = str_replace('\\', '', $director);$director = str_replace('\'', '', $director);//主演$playactor = $media_html->find('td.span2', 1)->next_sibling()->innertext;$pos = strrpos($playactor, '<a');if($pos) {$playactor = trim(substr($playactor, 0, $pos)); }$playactor = str_replace('\\', '', $playactor);$playactor = str_replace('\'', '', $playactor);//类型$mtype = $media_html->find('td.span2', 2)->next_sibling()->innertext;//制片地区$media_area = $media_html->find('td.span2', 3)->next_sibling()->innertext;//更新状态$media_status = $media_html->find('td.span2', 4)->next_sibling()->innertext;//上映日期$playdate = $media_html->find('td.span2', 5)->next_sibling()->innertext;$pos = strrpos($playdate, '(');if($pos) {$playdate = trim(substr($playdate, 0, $pos)); }    $playdate = str_replace('\\', '', $playdate);$playdate = str_replace('\'', '', $playdate);//评分$mark = $media_html->find('td.span2', 6)->next_sibling();if(!empty($mark)) $mark = $mark->find('a', 0)->innertext;$pos = strrpos($mark, '<i');if($pos) {$mark = trim(substr($mark, 0, $pos)); }//年代$years = $media_html->find('span.movie-year', 0)->innertext;$years = str_replace('(', '', $years);$years = str_replace(')', '', $years);$years = (int)str_replace('-', '', $years);//更新日期$uptdate = $media_html->find('div[style=margin:10px auto;]', 0)->innertext;$uptdate = str_replace('<em>更新时间:', '', $uptdate);$uptdate = str_replace('</em>', '', $uptdate);$uptdate = trim($uptdate);if(!empty($uptdate)) {$lastuptdate = $uptdate.' '.date('H:i:s');} else {// 当前日期格式输出$lastuptdate = date("Y-m-d H:i:s");}if(empty($playdate)) $playdate = $lastuptdate;//播放页地址$video_url = $apisever_url . $media_html->find('div.online-button', 0)->find('a', 0)->href;//剧集地址$ul_juji_arr = $media_html->find('ul.dslist-group', 0)->find('li');//总剧集数$media_juji = 1;//已出剧集数$media_cnt = 1;if($cate_code != 'film') {//$media_juji = (int)count($ul_juji_arr);if(strstr($media_status, ' /')) {$media_juji_arr = explode('/', $media_status);//已出剧集数$media_cnt = str_replace('更新至', '', trim($media_juji_arr[0]));$media_cnt = (int)str_replace('集', '', $media_cnt);//总剧集数$media_juji = str_replace('共', '', trim($media_juji_arr[1]));$media_juji = (int)str_replace('集', '', $media_juji);}}//媒体表$tablename_a = '94aw_media';//视频表$tablename_b = '94aw_video';//新增数据$mediatotalrec = getsqltotal($tablename_a);$mediamaxindex = $mediatotalrec + 1;$mediaobjectId = $tablename_a."_".$mediamaxindex;$media_f_index = md5();$source = '94aw';$media_f_index = md5($source.$vid);//媒体结构体$mediaadd_arr = array("objectId" => "'".$mediaobjectId."'",   //对象ID"cate_name" => "'".$cate_name."'",   //类别名"cate_code" => "'".$cate_code."'",   //类别码"media_name" => "'".$media_name."'",    //媒体名称"description" => "'".$description."'",  //剧情介绍"media_area" => "'".$media_area."'",    //制片地区"mtype" => "'".$mtype."'",        //类型"coverimg" => "'".$coverimg."'", //封面图片地址"media_url" => "'".$media_url."'",    //媒体地址"director" => "'".$director."'",     //导演"playactor" => "'".$playactor."'",    //主演"years" => $years,        //年代"media_status" => "'".$media_status."'", //更新状态"mark" => $mark,     //评分"media_juji" => $media_juji,   //总剧集数"media_cnt" => $media_cnt,    //已出剧集数"`index`" => $mediamaxindex,    //唯一索引"source" => "'".$source."'",       //来源"source_id" => $vid,        //来源ID"playdate" => "'".$playdate."'",         //上映日期"f_index" => "'".$media_f_index."'","lastuptdate" => "'".$lastuptdate."'",   //更新时间"syncdate" => "NOW()"        //同步时间);//var_dump($mediaadd_arr);//如果媒体已存在,则不添加/*$db_mediawhere = array(//"media_name = '".$media_name."'","source = '".$source."'","source_id = ".$vid);$db_mediaarr = qrysql_94aw_media("objectId", $db_mediawhere);//var_dump($db_mediaarr);if(!empty($db_mediaarr)) {} else {*/$db_mediaid = insertInfo($tablename_a, $mediaadd_arr, null, 'ignore');//}for($j = 0; $j < count($ul_juji_arr); $j++) {$jujili = $ul_juji_arr[$j];//如果是电影,则配置主要视频页if($j == 0) $main = 1;else $main = 0;//剧集地址$juji_url = $apisever_url . $jujili->find('a', 0)->href;//剧集名称$video_remark = $jujili->find('a', 0)->innertext;$video_remark = str_replace('\\', '', $video_remark);$video_remark = str_replace('\'', '', $video_remark);//新增数据$video_totalrec = getsqltotal($tablename_b);$video_maxindex = $video_totalrec + 1;$video_objectId = $tablename_b."_".$video_maxindex;$video_f_index = md5($video_remark.$source.$vid);//视频结构体$video_add_arr = array("objectId" => "'".$video_objectId."'","remark" => "'".$video_remark."'","video_url" => "'".$video_url."'",  //视频详情页地址"juji_url" => "'".$juji_url."'",    //剧情地址"main" => $main,"cate_code" => "'".$cate_code."'","media" => "'".$mediaobjectId."'","`index`" => $video_maxindex,"source" => "'".$source."'","source_id" => $vid,"f_index" => "'".$video_f_index."'","lastuptdate" => "'".$lastuptdate."'","syncdate" => "NOW()");var_dump($video_add_arr);//如果媒体已存在,则不添加/*$db_video_where = array("remark = '".$video_remark."'","source = '".$source."'","source_id = ".$vid);$db_video_arr = qrysql_94aw_video("objectId", $db_video_where);if(!empty($db_video_arr)) {} else {*/$db_videoid = insertInfo($tablename_b, $video_add_arr, null, 'ignore');//}}
}//更新视频可用状态
function setVideoStatus($vid, $juji)
{$videoUrl = getVideoRealUrl($vid, $juji);if(!empty($videoUrl)) {} else {$tablename = '94aw_media';$status = 'prepare';    //发布状态:编辑中$mediaupt = array("`status` = '".$status."'");$where = array("source_id = ".$vid);$uptres = updateInfo($tablename, $mediaupt, $where);}
}//入库:播放源
function importPlayUrl()
{$tablename = '94aw_play';//总记录数$totalvideos = getsqltotal('94aw_video');for($i = 1, $j = 1; $i <= ceil($totalvideos / 1000); $i++) {//for($i = 1, $j = 1; $i <= 1; $i++) {$k = $i*1000 + 1;//$k = 1;$where_qry = array("id >= ".$j,"id <= ".$k);$j = $k;var_dump($where_qry);//先查询得到APP名称$videoinfo_arr = qrysql_94aw_video('id', $where_qry);if(!empty($videoinfo_arr)) {foreach($videoinfo_arr as $videoinfo){$vid = $videoinfo['source_id'];$video = $videoinfo['video'];$media = $videoinfo['media'];$juji_url = $videoinfo['juji_url'];$main = 0;  //是否主要:0-否,1-是$parse = 0; //是否解析:0-否,1-是$source = '94aw';$source_id = $vid;                if(!empty($juji_url)) $playUrl = getVideoRealUrlByVideo($juji_url);if(!empty($playUrl)) {//新增数据$play_totalrec = getsqltotal($tablename);$play_maxindex = $play_totalrec + 1;$play_objectId = $tablename."_".$play_maxindex;$f_index = md5($playUrl);$play_add_arr = array("objectId" => "'".$play_objectId."'","playUrl" => "'".$playUrl."'","main" => $main,"parse" => $parse,"video" => "'".$video."'","media" => "'".$media."'","`index`" => "'".$play_maxindex."'","source" => "'".$source."'","source_id" => "'".$source_id."'","f_index" => "'".$f_index."'","createdAt" => "NOW()","updatedAt" => "NULL",);//如果媒体已存在,则不添加/*$db_play_where = array("playUrl = '".$playUrl."'","video = '".$video."'","media = '".$media."'");$db_play_arr = qrysql_94aw_play("objectId", $db_play_where);if(!empty($db_play_arr)) {} else {*/$db_playid = insertInfo($tablename, $play_add_arr, null, 'ignore');//}}}}}
}//动态获取视频URL地址
function getVideoRealUrl($vid, $juji)
{global $apisever_url;$url = $apisever_url . '/play/' . $vid.'/1/'.$juji.'.html';getVideoRealUrlByVideo($url);
}//传入URL地址
function getVideoRealUrlByVideo($two_url)
{ //视频真实URL地址$videoUrl = '';//=================================================================//第一步:获取该电影的播放数据$two_htmldata = curl_request($two_url);// 新建DOM实例$two_html = new simple_html_dom();$two_html->load($two_htmldata);//=================================================================//第二步:获取该电影的视频地址$three_url = $two_html->find('iframe', 0)->src;  $three_htmldata = curl_request($three_url);// 新建DOM实例$three_html = new simple_html_dom();$three_html->load($three_htmldata);if(strstr($three_html, '<iframe')) {//内嵌其他外链接$four_url = $three_html->find('iframe', 0)->src;$videoUrl = $four_url;}return $videoUrl;
}//二级页面处理
function getNextPageUrl($three_url)
{$three_htmldata = curl_request($three_url);// 新建DOM实例$three_html = new simple_html_dom();$three_html->load($three_htmldata);//如果有JS段部分,则表示为不需要Flash播放器的视频if(strstr($three_html, '<script type="text/javascript">')) {//播放器代码$playjs = $three_html->find('div[id=a1]', 0)->next_sibling();//拆解$play_arr = explode('\'', $playjs);if(!empty($play_arr) && count($play_arr) > 1) {//MP4资源地址$videoUrl = $play_arr[1];}} else if(strstr($three_html, '<iframe')) {//内嵌其他外链接$four_url = $three_html->find('iframe', 0)->src;$four_htmldata = curl_request($four_url);// 新建DOM实例$four_html = new simple_html_dom();$four_html->load($four_htmldata);//跳转后的域名主机$url_arr = parse_url($four_url);$sumbit_url = $url_arr['scheme'].'://'.$url_arr['host'].$url_arr['path'];//隐藏文本框中的MD5值//$hdMd5 = $four_html->find('div[id=error]', 0)->next_sibling()->value;if(strstr($four_html, '<script type="text/javascript">')) {if(!empty($four_html->find('div[id=error]', 0))) {$youkujs = $four_html->find('div[id=error]', 0)->next_sibling()->next_sibling();//拆解$post_arr = explode('iqiyicip}', $youkujs);if(!empty($post_arr)) {$target_obj_url = "url.php";$pp_arr = explode('"'.$target_obj_url.'", {', $post_arr[0]);if(!empty($pp_arr) && count($pp_arr) > 1) {$postjson = '{'.$pp_arr[1].'""}';$postjson = str_replace('\'', '"', $postjson);$returnCitySN = getLocalServerAreaIP();if(!empty($returnCitySN)) $serveip = $returnCitySN['cip'];else $serveip = getLocalServerOuterIP();$postjson = str_replace('returnCitySN.cip', '"'.$serveip.'"', $postjson);$eval_arr = explode('eval("', $post_arr[1]);$md5_ascii = explode('");', $eval_arr[1]);//ASCII转换$md5_arr = explode('\x', trim($md5_ascii[0]));                $hdMd5 = '';foreach($md5_arr as $mvr) {$md5_ch = chr(hexdec($mvr));  $hdMd5 .= $md5_ch;}$hdMd5 = str_replace("$('#hdMd5').val('", "", $hdMd5);$hdMd5 = str_replace("');", "", $hdMd5);$hdMd5 = str_replace("\n", "", $hdMd5);$postjson = str_replace('$("#hdMd5").val()', '"'.trim($hdMd5).'"', $postjson); //echo $postjson;$param_arr = json_decode($postjson, true);                //var_dump($param_arr);//$sumbit_url = "https://apis.tianxianle.com/youku/url.php"; $sumbit_url .= $target_obj_url; $http_url = $three_url;//echo $sumbit_url;/*//请求内容:$post_data = array("id" => '20743e2a02c06df62c6a6e7ba5f1985e',"type" => 'ppbox',"siteuser" => '',"md5" => 'b930212adabd2584394c33e43257036e',"hd" => '',"lg" => '',"cip" => '60.186.203.104');//返回内容:{"msg": "200","ext": "xml","site": "pptvyun","url": "https:\/\/apis.tianxianle.com\/youku\/url.php?xml=20743e2a02c06df62c6a6e7ba5f1985e&md5=b930212adabd2584394c33e43257036e&type=ppbox&hd=cq&wap=0&siteuser=&lg=&sohuuid="}*/list($return_code, $return_content) = curl_form($param_arr, $sumbit_url, $http_url);$json_arr = json_decode($return_content, true);//var_dump($json_arr);//echo $json_arr['url'];if(!empty($json_arr) && array_key_exists('url', $json_arr) && strstr($json_arr['url'], 'xml=')) {$seven_htmldata = curl_request($json_arr['url']);echo 'seven_htmldata = '.$seven_htmldata;//解析返回的XML结构体//header("Content-type: text/xml");$postStr = str_replace('<?xml version="1.0" encoding="utf-8"?>', '', $seven_htmldata);//$postStr = '<ckplayer> <Name> <![CDATA[解析插件 Ver2.0]]></Name> <flashvars>{f-&gt;https://apis.tianxianle.com/youku/url.php?[$pat]}{a-&gt;xml=20743e2a02c06df62c6a6e7ba5f1985e&amp;type=ppbox&amp;wap=0&amp;siteuser=&amp;md5=b930212adabd2584394c33e43257036e&amp;hd=gq}</flashvars><video><file><![CDATA[http://58.220.11.143/w/20743e2a02c06df62c6a6e7ba5f1985e.mp4?type=ppbox.launcher&key=cc8ee106332ffc70e3b53399b8b3880e]]></file><size>0</size><seconds>0</seconds></video></ckplayer>';$xml = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);//print_r($xml);$videoUrl = $xml->children()[2]->children()[0];}}}}}}
}//媒体地区清单
function import_media_area()
{$tablename = '94aw_marea';$qry_marea = qrysql_94aw_areabymedia();foreach($qry_marea as $marea){//处理$marea_name_arr = explode('/', rawurldecode($marea['media_area']));foreach($marea_name_arr as $marea_name){$mareaadd_arr = array("marea_name" => "'".trim($marea_name)."'",   //类别名);$db_mareaid = insertInfo($tablename, $mareaadd_arr, null, 'yes');}}}//媒体类型清单
function import_media_type()
{$tablename = '94aw_mtype';$qry_mtype = qrysql_94aw_typebymedia();foreach($qry_mtype as $mtype){//处理$mtype_name_arr = explode('/', rawurldecode($mtype['mtype']));foreach($mtype_name_arr as $mtype_name){$mtypeadd_arr = array("mtype_name" => "'".trim($mtype_name)."'",   //类别名);$db_mtypeid = insertInfo($tablename, $mtypeadd_arr, null, 'yes');}}}//媒体导演清单
function import_media_director()
{$tablename = '94aw_mdirector';$qry_mdirector = qrysql_94aw_directorbymedia();foreach($qry_mdirector as $mdirector){//处理$mdirector_name_arr = explode('/', rawurldecode($mdirector['director']));foreach($mdirector_name_arr as $mdirector_name){$mdirectoradd_arr = array("mdirector_name" => "'".trim($mdirector_name)."'",   //类别名);$db_mdirectorid = insertInfo($tablename, $mdirectoradd_arr, null, 'yes');}}}//媒体演员清单
function import_media_playactor()
{$tablename = '94aw_mplayactor';$qry_mplayactor = qrysql_94aw_playactorbymedia();foreach($qry_mplayactor as $mplayactor){//处理$mplayactor_name_arr = explode('/', rawurldecode($mplayactor['playactor']));foreach($mplayactor_name_arr as $mplayactor_name){$mplayactoradd_arr = array("mplayactor_name" => "'".trim($mplayactor_name)."'",   //类别名);$db_mplayactorid = insertInfo($tablename, $mplayactoradd_arr, null, 'yes');}}}

解析某个94aw演示备忘相关推荐

  1. CSP浏览器安全策略备忘

    挺久之前过了一遍CSP的安全策略,很多人把它喻为XSS攻击的终结者,因为这种策略不再像传统只靠各种正则和特征匹配来识别跨站攻击Payload,而是直接从协议层把一些存在安全隐患的用法默认给干掉了,把同 ...

  2. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

    JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqG ...

  3. Jprofile 备忘

    最近在使用jprofile 5.1.4监控系统时,得到了一些技巧,记录下来,备忘    1,看内存使用,内存中对象的个数,及其正在创建的个数,在      recoded objects中可以看到:1 ...

  4. Spring Spring MVC Hibernate 整合备忘

    以下为此三种框架整合配置的详细备注,以及部分问题备忘 项目结构和配置文件可访问 Github 查看 1. pom.xml 尽量使用 Maven 管理项目依赖以减少包引入时的麻烦,以及避免跨开发工具问题 ...

  5. Annotation 使用备忘2

    title: Annotation 使用备忘 date: 2018-01-02 20:48:43 tags: [Annotation] categories: [Programming,Java] - ...

  6. python熊猫图案_熊猫备忘单–适用于数据科学的Python

    python熊猫图案 Pandas is arguably the most important Python package for data science. Not only does it g ...

  7. PowerBuilder/PB常用备忘

    目录 1. PB使用Microsoft.XMLHttp组件的属性与方法 1-1 使用步骤 1-2 XMLHTTP方法: 1-3 XMLHTTP属性: 1-4 示例: 2. Pb中Window添加鼠标滚 ...

  8. 苹果x来电闪光灯怎么设置_手机上使用的记事备忘便签软件怎么设置来电提醒功能?...

    在选择使用记事备忘便签软件时,很多人都希望便签软件支持设置来电提醒功能,毕竟一忙碌起来很容易错过便签软件的提醒,手机是大家在日常生活和工作中离不开的工具,可在手机上使用的记事备忘便签软件中,哪些可以设 ...

  9. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要) from:jpr1990

    JqGrid相关操作备忘 方法列表 1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(js ...

最新文章

  1. POJ 1860 Currency Exchange
  2. nc 模拟服务器_NC集群服务器使用详解
  3. 如何把VS Code打造成Java开发IDE?
  4. 2022蓝骑士发展与保障报告
  5. 《Springboot极简教程》Springboot使用Kotlin和Java混合编程
  6. QuickSort 快速排序
  7. 技术或运营的妥协/退让场景
  8. 开源Web应用程序防火墙 - ModSecurity
  9. ghost mysql 乱码,ghost安装之mysql
  10. 拓端tecdat|R语言大数据分析纽约市的311万条投诉统计可视化与时间序列分析
  11. 【机器学习】Cross-Validation(交叉验证)详解
  12. Java中删除一个文件夹下的所有文件(包括子目录内的文件)
  13. ria技术_JavaFXpert RIA示例挑战截止日期已延长
  14. Java 常见异常类
  15. 北京房价预测——线性回归
  16. python转换exe详细教程-手把手教你把Python代码转成exe
  17. 蒙特卡罗方法与马尔科夫链
  18. 外贸常用术语_对外贸易常用的贸易术语有几种?分别是,,,
  19. php phpmailer 发送邮件
  20. buu-[ACTF新生赛2020]SoulLike

热门文章

  1. C语言第一课:初始C语言
  2. 显示类型转换和隐式类型转换
  3. Dubbo面试题总结
  4. 崩三类卡通渲染解析及制作规范
  5. Smart3D(ContextCapture)跑三维到底要啥配置?!40000元来组建建模集群
  6. ValueError: Classification metrics can‘t handle a mix of binary and continuous targets
  7. Xampp介绍、安装过程及使用方法
  8. Element_Table的单元格合并
  9. 华为鸿蒙os对比安卓系统,华为手机鸿蒙OS 2.0、EMUI 11界面对比:安卓底层没了
  10. [QT_016]Qt学习之QPlainTextEdit 、QTextEdit 、QTextBrowser