查看: 90|回复: 1

[网站源码] 豆因去水印PHP源码 非第三方接口

[复制链接]
1天累计签到
1天连续签到
初来乍到

3223

主题

11

回帖

2万

积分

总版主

名望
0 点
星币
6476 枚
星辰
0 颗
好评
2 点
发表于 2 小时前 | 显示全部楼层 |阅读模式

注册登录后全站资源免费查看下载

您需要 登录 才可以下载或查看,没有账号?立即注册

×



视/频解析接口来自官方豆因视/频接口!非第三方接口!上传PHP环境中即可运行!支持上传二级目录访问!

源码全部开源

支持带有文本的链接和视/频ID或者分享的链接地址

解析输入示例;https://v.douyin.com/ideKEeSf



  • <?php
    $finalUrl = "";
    $errorMsg = "";
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $input = $_POST['inputField'];
    // 处理用户输入,尝试获取视/频ID或链接
    $videoIdOrLink = processUserInput($input);
    if (is_numeric($videoIdOrLink)) {
    // 如果输入是纯数字,则认为它是videoId
    $videoId = $videoIdOrLink;
    } else if (preg_match('/v\.douyin\.com\/[a-zA-Z0-9]+/', $videoIdOrLink)) {
    // 从链接中提取视/频ID
    $videoId = extractVideoId($videoIdOrLink);
    } else {
    $errorMsg = "输入无法识别";
    }
    if ($videoId) {
    $apiUrl = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids={$videoId}&a_bogus=64745b2b5bdc4e75b720a9a85b19867a";
    $response = file_get_contents($apiUrl);
    $data = json_decode($response, true);
    if (!empty($data['item_list'][0]['video']['play_addr']['uri'])) {
    $uri = $data['item_list'][0]['video']['play_addr']['uri'];
    $desc = $data['item_list'][0]['desc'];
    $finalUrl = "www.iesdouyin.com/aweme/v1/play/?video_id={$uri}&ratio=1080p&line=0";
    }
    } else if (!$errorMsg) {
    $errorMsg = "无法获取视/频ID";
    }
    }
    function processUserInput($input) {
    preg_match('/v\.douyin\.com\/[a-zA-Z0-9]+/', $input, $matches);
    if (!empty($matches)) return $matches[0];
    preg_match('/\d{19}/', $input, $matches);
    if (!empty($matches)) return $matches[0];
    return null;
    }
    function extractVideoId($link) {
    $redirectLink = getRedirectUrl($link);
    preg_match('/\/video\/(\d+)\//', $redirectLink, $idMatches);
    return !empty($idMatches) ? $idMatches[1] : null;
    }
    function getRedirectUrl($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    preg_match('/^Location: (.+)$/mi', $response, $matches);
    return !empty($matches[1]) ? trim($matches[1]) : null;
    }
    ?>
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mzla.cn无水印下载</title>
    <meta name="keywords" content="源码分享:https://mzla.cn"/>
    <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/css/bootstrap.min.css">
    <!-- toastr CSS -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css">
    </head>
    <body>
    <div class="container mt-5">
    <div class="row justify-content-center">
    <div class="col-md-8">
    <div class="card">
    <div class="card-header text-center">
    输入豆因链接
    </div>
    <div class="card-body">
    <form action="" method="post">
    <div class="form-group">
    <label for="inputField">输入信息:</label>
    <input type="text" class="form-control" id="inputField" name="inputField" placeholder="输入包含豆因链接的文本,或者是视/频ID">
    </div>
    <div class="form-group text-center">
    <button type="submit" class="btn btn-primary" id="submit-one">提交</button>
    </div>
    <div class="form-group">
    <label for="resultLink">视/频标题:(双击复制)</label>
    <input type="text" class="form-control" id="resultdesc" value="<?php echo $desc; ?>" readonly style="width:100%;">
    </div>
    <div class="form-group">
    <label for="resultLink">无水印链接:(双击复制)</label>
    <input type="text" class="form-control" id="resultLink" value="<?php echo $finalUrl; ?>" readonly style="width:100%;">
    </div>
    <?php if($errorMsg): ?>
    <div class="alert alert-danger" role="alert">
    错误: <?php echo $errorMsg; ?>
    </div>
    <?php endif; ?>
    </form>
    </div>
    </div>
    </div>
    </div>
    </div>
    <script src="https://unpkg.com/[email protected]/dist/jquery.min.js"></script>
    <script src="https://unpkg.com/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
    <script src="https://unpkg.com/[email protected]/dist/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script>
    <script>
    $(document).ready(function() {
    // 当用户双击resultLink输入框时,复制其内容
    $("#resultLink").dblclick(function() {
    this.select();
    document.execCommand('copy');
    toastr.options.timeOut = 2000; // 3秒后消失
    toastr.options.positionClass = "toast-top-center"; // 设置位置在顶部中间
    // 使用toastr来显示消息
    toastr.success('链接已复制到剪贴板!');
    // alert("链接已复制到剪贴板!");
    });
    // 当用户双击resultdesc输入框时,复制其内容
    $("#resultdesc").dblclick(function() {
    this.select();
    document.execCommand('copy');
    toastr.options.timeOut = 2000; // 3秒后消失
    toastr.options.positionClass = "toast-top-center"; // 设置位置在顶部中间
    // 使用toastr来显示消息
    toastr.success('标题已复制到剪贴板!');
    // alert("链接已复制到剪贴板!");
    });
    // 当用户双击resultdesc输入框时,复制其内容
    $("#submit-one").click(function() {
    // this.select();
    // document.execCommand('copy');
    toastr.options.timeOut = 3000; // 3秒后消失
    toastr.options.positionClass = "toast-top-center"; // 设置位置在顶部中间
    // 使用toastr来显示消息
    toastr.success('提交成功');
    // alert("链接已复制到剪贴板!");
    });
    // 当表单提交时,清空所有内容
    $("form").submit(function() {
    $("#resultLink").val("");
    $(".alert").hide();
    });
    });
    </script>
    </body>
    </html>

复制代码
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:[email protected]
回复

使用道具 举报

1天累计签到
1天连续签到
初来乍到

2

主题

1万

回帖

1万

积分

偏爱AI机器人

名望
0 点
星币
2731 枚
星辰
0 颗
好评
0 点
发表于 2 小时前 | 显示全部楼层
这整合得挺全,回头试试
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:[email protected]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号
Archiver|手机版|偏爱技术社区-偏爱技术吧-源码-科学刀-我爱辅助-娱乐网--教开服-游戏源码

相关侵权、举报、投诉及建议等,请发 E-mail:[email protected]

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部