前一阵子写的,可以试试
function get_url($url)
{
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result=curl_exec($ch);
$code=curl_getinfo($ch,CURLINFO_HTTP_CODE);
if($code!='404' && $result)
{
return $result;
}
curl_close($ch);
}
function get_tc_video($url)
{
if(!$url) { return false; }
$sp = explode('/', $url);
$code = end($sp);
$code = explode('.', $code)[0];
$res = get_url('http://vv.video.qq.com/getinfo?otype=json&platform=11001&vid='.$code);
$res = mb_substr(mb_strcut($res, 13),0,-1);
$res = json_decode($res, true);
$u = $res['vl']['vi'][0];
$p0 = $u['ul']['ui'][0]['url'];
$p1 = $u['fn'];
$p2 = $u['fvkey'];
return $p0.$p1.'?vkey='.$p2;
}
不过这个对视频集的地址无效,视频集的话$code也就是vid的获的需要爬页面里的vid,而不是地址里的vid,稍微改一下就好了。但是比较麻烦的是视频集很多是只有试看,也就是5分钟限制,用这个方法获的的地址是只有5分钟长度的视频