抖音解析

获取抖音无水印视频,图集。

API 文档

  • 接口地址: https://api.makuo.cc/api/get.video.douyin
  • 返回格式: JSON
  • 请求方式: GET
  • 请求示例: https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/

请求参数说明:

名称 必填 类型 说明
token string 登录获取token
url string 抖音视频连接

返回参数说明:

名称 类型 说明
code integer 返回的状态码
data object 返回的数据/数据对象
msg string 返回的消息
time string 请求时间
data.author string 作者名称
data.cover string 视频封面图片地址
data.like int 点赞数
data.music_Avatar string 背景音乐头像地址
data.music_Name string 背景音乐名称
data.music_bgm string 背景音乐地址
data.time int 视频发布时间戳
data.title string 视频标题
data.uid string 作者ID
data.video_id string 视频ID
data.video_url string 无水印视频地址

返回示例:

{
    "code": 200,
    "data": {
        "author": "大众影视",
        "cover": "https://p3-sign.douyinpic.com/tos-cn-p-0015/841251f2c92a4dfeaa85a0df96f07b3b_1701619156~tplv-dy-360p.jpeg?x-expires=1706947200&x-signature=r8%2BnpwMlp9opNVuICr4x2%2BkwJwM%3D&from=3213915784&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=origin_cover&biz_tag=aweme_video&l=2024012016245692B198382B44180D7C92",
        "like": 123737,
        "music_Avatar": "https://p3.douyinpic.com/aweme/720x720/aweme-avatar/tos-cn-avt-0015_988156708234a01750a7e37c29f419a7.jpeg?from=116350172",
        "music_Name": "大众影视",
        "music_bgm": "https://sf86-cdn-tos.douyinstatic.com/obj/ies-music/7308398941312256806.mp3",
        "time": 1701619096,
        "title": "叶问2完结一镜到底,24分钟带你一饱眼福",
        "uid": "104736693569",
        "video_id": "7308397891100478747",
        "video_url": "http://v3-default.douyinvod.com/2c39cdbfd3ae56d857d7051847795431/65ab970a/video/tos/cn/tos-cn-ve-15/ooPNfe2XTZeUK4lBgpICAsEcH2RB6g4A7mmoJt/?a=0&ch=26&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1779&bt=1779&cs=0&ds=6&ft=htHkhUyyxxouhL.D1PD12ldU6pt2GbECMUkwF_9i37CK2Nz7T&mime_type=video_mp4&qs=0&rc=OjZlPDtpaGRlNmQzNDo5aEBpanFmdTQ6ZndkbzMzNGkzM0A2YF9iNDQvNTYxYDJgM2NjYSNnbWwtcjRnMmpgLS1kLS9zcw%3D%3D&btag=e00038000&dy_q=1705739096&feature_id=f0150a16a324336cda5d6dd0b69ed299&l=2024012016245692B198382B44180D7C92"
    },
    "msg": "请求成功!",
    "time": "2024-01-20 16:24:56"
}    

错误码格式说明:

名称 类型 说明
200 string 返回状态码(成功)
500 string 返回的状态码(失败)

代码示例:


<?php
// 初始化cURL会话
$ch = curl_init();
// 设置请求URL,用户中心获取token,自行替换其他参数
curl_setopt($ch, CURLOPT_URL, "https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/ ");
// 设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: YOUR_TOKEN'
));
// 返回响应而不是直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行请求并获取响应
$response = curl_exec($ch);
// 关闭cURL会话
curl_close($ch);
// 将响应解析为JSON格式
$data = json_decode($response, true);
// 输出JSON数据
print_r($data);
?>
            

import requests

# 设置请求URL和头部,用户中心获取token,自行替换其他参数
url = "https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/ "
headers = {
    'Authorization': 'YOUR_TOKEN'
}

# 发送GET请求
response = requests.get(url, headers=headers)
# 将响应解析为JSON格式
data = response.json()
# 输出JSON数据
print(data)
            

// 发送GET请求,用户中心获取token,自行替换其他参数
fetch("https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/ ", {
    method: "GET",
    headers: {
        "Authorization": "YOUR_TOKEN"
    }
})
.then(response => response.json()) // 将响应解析为JSON格式
.then(data => console.log(data)) // 输出JSON数据
.catch(error => console.error('Error:', error));
            

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
    public static void main(String[] args) throws Exception {
        // 创建URL对象,用户中心获取token,自行替换其他参数
        URL url = new URL("https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/ ");
        // 打开连接
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        // 设置请求方法
        conn.setRequestMethod("GET");
        // 设置请求头
        conn.setRequestProperty("Authorization", "YOUR_TOKEN");

        // 读取响应
        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String inputLine;
        StringBuffer content = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            content.append(inputLine);
        }
        in.close();
        // 输出JSON数据
        System.out.println(content.toString());
    }
}
            

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        using (HttpClient client = new HttpClient()) {
            // 设置请求头
            client.DefaultRequestHeaders.Add("Authorization", "YOUR_TOKEN");
            // 发送GET请求,用户中心获取token,自行替换其他参数
            HttpResponseMessage response = await client.GetAsync("https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/ ");
            // 将响应解析为字符串
            string responseBody = await response.Content.ReadAsStringAsync();
            // 输出JSON数据
            Console.WriteLine(responseBody);
        }
    }
}
            

require 'net/http'
require 'uri'

# 创建URI对象,用户中心获取token,自行替换其他参数
uri = URI.parse("https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/ ")
# 创建GET请求
request = Net::HTTP::Get.new(uri)
# 设置请求头
request["Authorization"] = "YOUR_TOKEN"

# 发送请求并获取响应
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

# 输出JSON数据
puts response.body
            

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    // 创建GET请求,用户中心获取token,自行替换其他参数
    req, err := http.NewRequest("GET", "https://api.makuo.cc/api/get.video.douyin?url=https://v.douyin.com/iLULrjDg/ ", nil)
    if err != nil {
        panic(err)
    }
    // 设置请求头
    req.Header.Add("Authorization", "YOUR_TOKEN")

    // 发送请求并获取响应
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // 读取响应体
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }
    // 输出JSON数据
    fmt.Println(string(body))
}