【PHP】抖音无水印视频解析源码

【PHP】抖音无水印视频解析源码

作者 : 资源客 发布时间: 2019-12-31

原理如下:

<?php
/* 
Author    资源客
DateTime  2019-12-26
*/
  
function GetVideos($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ["user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"]);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); 
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}
 
function GetUrl($url)
{
    $UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    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);
    curl_close($curl);
    return $data;
}
//URL
$url = $_GET['url'];
 
if (empty($url)) {
    echo json_encode(['code' => 0, 'msg' => '请输入正确视频网址,格式为:douyin.php?url=视频地址']);
}else{
    $data = GetUrl($url);
    //获取
    preg_match('/playAddr: "(?<url>[^"]+)"/i', $data, $url);
    preg_match('/<p class="desc">(?<desc>[^<>]*)<\/p>/i', $data, $name);
    $name = $name['desc'];
    $url = $url['url'];
    if(empty($url))
    {
        echo json_encode(['code' => 0, 'msg' => '解析错误']);
        exit;
    }
     
    preg_match('/s_vid=(.*?)&/', $url, $id);
    $url = 'https://aweme.snssdk.com/aweme/v1/play/?s_vid=' . $id[1] . '&line=0';
    $data_new = GetVideos($url);
    preg_match('/<a href=\"http:\/\/(.*?)\">/', $data_new, $link);
     
    if (empty($link[1])) {
        echo json_encode(['code' => 0, 'msg' => '解析错误']);
        exit;
    }
     
    $link = 'http://' . $link[1];
    echo json_encode(['code' => 1, 'name' => $name, 'url' => $link]);
}

 

http://xzh.i3geek.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途及非法用途,否则后果自负!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"qq301.com",如遇到无法解压的请联系管理员!
资源客是一个优秀的分享资源站,本站资源均为各位友友分享而来,特殊原创会标明如有侵犯版权等可联系删除

资源客 » 【PHP】抖音无水印视频解析源码