抖音无水印解析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, *** ON_PRETTY_PRINT| *** ON_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 = *** ON.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协议
laysns资源网系统今日文章时间加红 只需要写一个判断,那如果今日未发文则显示昨日时间加红怎么实现呢? 首先laysns资源网系统新版增加了一个 $todayPublishNum 函...
代码分享,这个是网站提供的三种会员,每个ip每天只能获取三次 所以换个ip就可以无限查看了 获取页面如下(图省事,就简单的输出了下) 思路很好,思源补注释,仅供学习参考 <?php...
1.主要原理用到了php的post和if函数 if($_POST["password"] == right_pwd) 2.我们需要输入一次后某时间段不失效就用到了cookies, setcook...
<?php //首先你要有读写文件的权限 //本程序可以直接运行,第一次报错,以缶涂梢? $online_log = "count.dat"; //保存人数的文件, $timeout = 30;...
bing图片,清晰而且精美,做背景是不错的选择,而且每日一图 ps:选择强迫症的读音 第一步:创建一个bing.php文件,放入下列代码 <?php $str=file_get_conte...
Emlog今日文章时间加红 只需要写一个判断,那如果今日未发文则显示昨日时间加红怎么实现呢? 首先我们需要判断一下今日是否发文 把代码放到模板下module.php中 &l...