快手的解析比较简单,查看源码可以直接找到mp4地址,看下思路吧.
1、curl html
2、正则匹配出视频源
3、location即可播放或者直接返回MP4地址,赋值给播放器
代码如下:
/*
严重警告:
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
//
preg_match('|
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;
}