快手的解析比较简单,查看源码可以直接找到mp4地址,看下思路吧.
1、curl html
2、正则匹配出视频源
3、location即可播放或者直接返回MP4地址,赋值给播放器
代码如下:
<?php /* 严重警告: 1,源码仅供学习交流使用。 2,禁止用于危害官方利益的行为。 3,禁止用于违反法律法规的行为。 4,由于无法对学习交流用户的权利信息进行甄别,如您学习交流过程中侵犯了官方的合法利益或存在违法行为,请立即删除本学习交流程序,遵循相关法律。 5,学习交流用户 应当保证其在学习交流过程中不应用于任何违法行为,并保证承担和赔偿有关违法行为造成的任何损失。 使用方法: php?url= 完整url */ error_reporting(0);//阻止错误输出 header('Content-Type:text/html;charset=UTF-8'); //获取url $url = $_GET['url']; //获取html $data = http_curl($url); //匹配出 video //<div class="video-content" src="http://tx2.a.yximgs.com/udata/W_sZA6m6rcKQU_zh.mp4"></div> preg_match('|<div class="video-content" src="(.*?)"|',$data,$video); header("location:".$video[1]); //curl ,按部就班的来 function http_curl($url) { //构建user_agent模拟 pc浏览器,下方的curl中使用 $UserAgent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); // 设置超时限制防止死循环 curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent); //设置可以302跳转 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($curl); return $data; }