参考爱奇艺全网影视做多平台融合时地址 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://blog.apecloud.ltd/article/detail.html?id=52
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。

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