0

    自己动手试验解析抖音无水印视频【PHP版】

    2023.07.07 | admin | 127次围观

    码农社区-视频教程分享网:。这是一个视频教程分享网,网站收集了php视频教程,前端各种视频教程,接口API,微信公众号,支付宝视频教程,还有go语言,python等视频教程,教程以链接+提取码的方式分享与大家!

    用公众号每天来阅读文章,学习,目前是最方便的。这是自闲暇的时间里,利用5分钟读读技术文章php微信公众号开发教程视频,丰富自己的知识。。。当然,学习有很多种方法,不单单是基于公众号来学习,你可以到网上查找更多的教程,学习文档,技术书本,视频教程!各有各的爱好吧!

    视频

    教程

    文章正文

    试验了网上很多抖音解析无水印视频的API,发现很多都是不稳定的。连今天要分享的这个api也是,总是那么不稳定。不过还好,总算是解析出了无水印视频。很多东西还是要自己调试一下才会知道哪里出bug了!

    看截图先

    input里输入抖音链接地址后,点击解析视频,最后生成无水印视频,封面。返回了一大串json数据

    返回的json数据

    调用的api

    我这里是用到了这个地址:,

    接口地址:

    返回格式:json

    请求方式:get/post

    请求示例:://v.douyin.com/2bLNJ7/

    方法就是:?url="从抖音复制过来的链接地址"。

    简单示例:


    header("Content-Type:text/html;charset=UTF-8");
    $url = "http://v.douyin.com/2bLNJ7/";
    $result = file_get_contents("https://api.toubiec.cn/douy?url=".$url);
    $arr=json_decode($result,true);
    if ($arr) {
        echo "视频作者:",$arr['nickname'];
        echo "";
        echo "视频地址:",$arr['videourl'][1];
        echo "";
        echo "图片地址:",$arr['image'];
    else {
        echo $arr['status'];
    }
    ?>

    以下是具体实现的代码

    html模板

    <div class="input-group input-group-lg" style="margin-bottom: 10px;">
        <input type="text" class="form-control link-input" id="douyin_link" placeholder="抖音视频连接粘贴到这">
              <div class="input-group-btn">
        
              <button class="btn btn-default" type="button" id="jiexi">解析视频button>
          div>
    div>
    <div style="text-align: center; display: none;" class="alert alert-danger" id="error">请输入正确的视频链接div>
    <div style="text-align: center; display: none;" id="loading" >
        <img src="img/loading.gif" style="width: 80px;height: 80px;">
    div>

    <div class="thumbnail" style="display: none;" id="success">
        <div class="caption" style="padding:5px 0 0;">
            <p style="text-align: center;">
                <a target="_blank" rel="noreferrer" id="video_url" href="" download="douyin.mp4"class="btn btn-success">下载视频a>
                <a target="_blank" rel="noreferrer" id="cover_url" href="" class="btn btn-info">视频封面a>
            p>
            <p style="text-align: center;">
                <a href="javascript:void(0);" class="btn btn-danger" id="rest">清空a>
            p>
        div>
    div>

    js文件,很容易,post获取到url后php微信公众号开发教程视频,传递给douyin.php文件处理,再返回一大串数据

    if(douyin_link.length == 0){
        $("#error").html("请先将视频链接粘贴到上面的输入框");
        $("#error").css("display","block"); 
        $("#loading").css("display","none"); 
    }else{
        var c = douyin_link.lastIndexOf("http://");
        c = (c === -1) ? douyin_link.lastIndexOf("https://") : c;
        if(c === -1){
            $("#error").html("请输入正确的视频链接");
            $("#error").css("display","block"); 
            $("#loading").css("display","none"); 
        }else{
            douyin_link = douyin_link.substr(c);
            console.log(douyin_link);
            if(parseURL(douyin_link).host=="v.douyin.com" || parseURL(douyin_link).host=="www.iesdouyin.com"){
                $.ajax({
                    type"POST",
                    url"douyin.php",
                    data: {
                        url:douyin_link,                        
                    },
                    dataType"json",
                    successfunction(data){
                        $("#loading").css("display","none"); 
                        console.log(data.time);
                        if(data.status == true){
                            $("#success").css("display","block");
                            $("#video_url").attr("href",data.videourl[1]); 
                            $("#cover_url").attr("href",data.image);

                        }else{
                            $("#error").html(data.msg);
                            $("#error").css("display","block"); 
                        }
                    },

                });
            }else{
                $("#error").html("请输入正确的视频链接");
                $("#error").css("display","block"); 
                $("#loading").css("display","none"); 
            }
        }
    }

    douyin.php文件,处理后返回数据到前端


    //为防止协议的快速失效,使用远程访问获取数据。

    $url = "http://v.douyin.com/2bLNJ7/";
    $param = ["param" => md5(123)];
    $url_sign = '958364f87222c200a72414f492bf0e26';

    $api_url = "https://api.toubiec.cn/douy?url=".$url;
    $result = http_request($api_url, $param,$url_sign);

    echo $result;

    /**
     * post请求接口公共函数
     * @param  string $url   接口地址 
     * @param  array  $param 接口参数
     * @return string
     * @默认3.0系统sign
     */

    function http_request($url, $param = array(), $token){

        $data = array(
            'param' => json_encode($param),
            'sign'  => get_sign($param,$token),
        );

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        $ret = curl_exec($ch);
        if($ret === false){
            return curl_error($ch);
        }
        curl_close($ch);
        return $ret;
    }

    /**
     * 获取签名
     * @param  array  $param 接口参数param(没有sign)
     * @param  string $token 接口密钥
     * @return string        加密字串
     */

    function get_sign($param = array(), $token = ''){
        ksort($param, SORT_STRING);
        $param_str = http_build_query($param);
        $sign = md5($param_str . $token);
        return $sign;
    }


    ?>

    抖音无水印解析地址:

    以上是文章全部内容,有学习与经验交流的友友可以加小编为好友。以下是码农程序视频分享网的二维码,有需要学习教程,学习视频的请加以下二维码,获取更多视频教程

    让学习成为一种习惯

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    标签: 分享网
    发表评论