参考爱奇艺全网影视做多平台融合时地址 URL自动关联转换函数

将地址自动转换,关联时候有些为子剧集第一集,关联会出现错误,所以转换为父剧集

$url = "http://v.youku.com/v_show/id_XMzg3ODI3OTI4NA==.html";
var_dump(urlCover($url,'youku'));

/** 获取META信息 */
function urlCover($url,$site)
{
/*简单处理*/
if ($site == 'iqiyi'){
return $url;
}
if (str_replace('http://so.iqiyi.com/links','',$url) != $url) {
$data = file_get_contents($url);
preg_match('/<META\s+http-equiv="refresh"\s+content="0;URL=\'([\w\W]*?)"/si', $data, $matches);
if (!empty($matches[1])) {
$url = substr($matches[1],0,-1);
}
}
switch ($site){
case 'qq':
if (strpos($url,'?ptag=iqiyi')){
$url = substr($url,0,strpos($url,'?ptag=iqiyi'));
}
if (strpos($url,'film.qq.com')){
$url = str_replace('http://film.qq.com/cover/','https://v.qq.com/detail/',$url);
}
//通过子剧集获取视频连接
$html=file_get_contents($url);
$dom = new DOMDocument();
//从一个字符串加载HTML
@$dom->loadHTML($html);
//使该HTML规范化
$dom->normalize();
//用DOMXpath加载DOM,用于查询
$xpath = new DOMXPath($dom);
#获取播放器播放标题的a标签的地址
$hrefs = $xpath->query("//*[@id=\"container_player\"]/div/div[1]/div[2]/div[2]/div[1]/div[1]/div[1]/h2/a//@href");
for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$linktext = $href->nodeValue;
$url = 'https://v.qq.com'.$linktext;
break;
}
break;
case 'youku':
//通过子剧集获取视频连接
$html=file_get_contents($url);
$dom = new DOMDocument();
//从一个字符串加载HTML
@$dom->loadHTML($html);
//使该HTML规范化
$dom->normalize();
//用DOMXpath加载DOM,用于查询
$xpath = new DOMXPath($dom);
#获取播放器播放标题的a标签的地址
$hrefs = $xpath->query(" //*[@class=\"tvinfo\"]/h2/a//@href");
for ($i = 0; $i < $hrefs->length; $i++) {
$href = $hrefs->item($i);
$linktext = $href->nodeValue;
$url = 'https:'.$linktext;
break;
}
break;
/*其他等需要的时候再行适配,imgo不需要适配连接正确*/
default:
break;
}
return $url;
}

版权声明:
作者:超级管理员
链接: https://apecloud.ltd/article/detail.html?id=52
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
/static/admin/img/weixin.jpg/static/admin/img/zfb.jpg
<<上一篇>
linux杀死相关所有进程
下一篇>>