记录学习与后端知识并分享学习代码过程(会飞的鱼Blog)

抖音无水印解析PHP源码

会飞的鱼 0 1414 2019年9月4日

抖音无水印解析PHP源码

仅限学习使用

输出为标准的格式化json数据

ajax直接调用即可 

原生的ajax的调用方法看底部

<?php
$url = @$_GET['url'];
if (strstr($url,"douyin.com")) {
//获取301跳转真实地址   
function getrealurl($url){ $header = get_headers($url,1); 
if (strpos($header[0],'301') || strpos($header[0],'302')) 
{if(is_array($header['Location'])) {return $header['Location'][count($header['Location'])-1];
}else{return $header['Location'];}}else{return $url;}};
$url = getrealurl($url);
//模拟苹果手机访问
$UserAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1';
// 截取ID
function GetBetween($content,$start,$end) {
$r = explode($start, $content);
if (isset($r[1])) {
$r = explode($end, $r[1]);
return $r[0];
}
return '';
}
$b = 'https://www.iesdouyin.com/share/video/';
$c = '/?';
$id = GetBetween($url,$b,$c);
$d ='https://api-hl.amemv.com/aweme/v1/aweme/detail/?aid=1128&app_name=aweme&version_code=251&aweme_id='.$id;
//curl
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $d);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($curl);
$a = $data;
curl_close($curl);
header('Content-type:text/json'); 
$Array = json_decode($a,true);
$name = $Array["aweme_detail"]["author"]["nickname"];
$title = $Array["aweme_detail"]["share_info"]["share_title"];
$videourl= $Array["aweme_detail"]["video"]["play_addr"]["url_list"][0];
$cover = $Array["aweme_detail"]["video"]["origin_cover"]["url_list"][0];
$des = $Array["aweme_detail"]["desc"];
if($videourl==""){
    $status = "0";
}else{
    $status="1";
}
$Json = array('status'=>$status,'name'=>$name,'title'=>$title,'des'=>$des,'cover'=>$cover,'videourl'=>$videourl);
$turl=json_encode($Json,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
echo stripslashes($turl);
} else
{
echo '请输入抖音分享的地址,如:http://v.douyin.com/eRcTtj/';
}
?>
<script>
        function  setValue()
        {
        var v =  document.getElementById("input1").value;//取得参数
                var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
 if(!reg.test(v)){md.showWarning('top','right');}
 else{      var xmlhttp;
            if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
            xmlhttp.open("GET","/douyin/?url="+v,false);
            xmlhttp.send();
            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;//获取数据
    var jsonObj = JSON.parse(xmlhttp.responseText);  // 初始化!!!
        //document.getElementById("input1").value= jsonObj.url; //注释解析
        document.getElementById("v1").src = jsonObj.url; 
        document.getElementById("media").load();
        md.showNotification('top','right');//
        }
    }  
</script>

网站输出视频必须是https协议

本文转自《抖音无水印解析PHP源码

本文由 @会飞的鱼 于 2019-9-4 发布在 会飞的鱼Blog,如无特别说明,本博文章均为原创,转载请保留出处。

网友评论

    暂无评论

会飞的鱼 在线咨询

在线时间:9:00-22:00
周六、周日:14:00-22:00