首页 » 技术杂谈 » 正文

抖音无水印解析

使用腾讯云函数(SCF)部署代码

示例

接口返回数据
请求:
https://service-ljayspu6-1300659921.gz.apigw.tencentcs.com/release/douyin?v=https://v.douyin.com/JwVv8T6/
方法 参数
GET v 抖音分享地址,如https://v.douyin.com/JwVv8T6/
返回:
{
    "mp3_title": "@仓鼠历险记创作的原声",
    "mp3_url": "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/6925007243020733197.mp3",
    "video_url": "http://v26.douyinvod.com/87416fbf1772af0cd64421d45bc89a22/602cbceb/video/tos/cn/tos-cn-ve-15/89561744665f4f87b30b5a281443cbf3/?a=1128&br=3632&bt=908&cd=0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&l=202102151451230102121440393095A8D5&lr=&mime_type=video_mp4&pl=0&qs=0&rc=M3lwbXIzZ3I8MzMzZ2kzM0ApZDRlZGk2ZGQzNzkzZzk4OGcpaGRqbGRoaGRmNDA2bXNnbS5hYC0tMi0vc3NiXmEtMzVfXmMuMl9jMy0xOmNwb2wrbStqdDo%3D&vl=&vr=",
    "title": "#仓鼠 #手工#蜈蚣 @DOU+小助手",
    "author": "仓鼠历险记"
}
mp3_title mp3_url video_url title author
背景音频标题 背景音频 无水印地址 视频标题 作者

使用方法

 

代码部署到腾讯云函数 (环境 python3.6)

腾讯云函数–>新建–> 自定义创建–>完成

腾讯云函数部署抖音无水印解析接口

将代码(文章末尾)粘贴到index.py中

触发管理–>创建触发器—>触发方法:API网关触发–>请求方法:GET–>提交

腾讯云函数部署抖音无水印解析接口

 

点击API服务名 SCF_API_SERVICE 开通或者进入API网关—>选择API–>编辑–>添加参数 v

腾讯云函数部署抖音无水印解析接口

 

Python代码

# -*- coding: utf8 -*-
import json
import re
import requests


class Douyin:
    def __init__(self, url):
        self.__url = url
        self.__aweme = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="
        self.__title = ""
        self.__author = ""
        self.__mp3_title = ""
        self.__mp3_url = ""
        self.__mp4_url = ""
        self.__void_url = ""

    # 获取正则后的void_id
    def __request(self):
        share = requests.get(self.__url)
        void_id = re.search(r'video/.*?/', share.url)
        str_id = void_id.group()
        str_id = str_id.replace("video/", "").replace("/", "")
        self.__str_id = str_id

    # 获取视频地址和相关信息
    def request_vide(self):
        self.__request()
        dow_url = self.__aweme + self.__str_id
        # date 响应的所有数据
        date = requests.get(dow_url).json()
        # print(date)
        self.__title = date['item_list'][0]['desc']
        self.__author = date['item_list'][0]['author']['nickname']
        self.__mp3_title = date['item_list'][0]['music']['title']
        self.__mp3_url = date['item_list'][0]['music']['play_url']['uri']
        video_url = str(date['item_list'][0]['video']['play_addr']['url_list'][0])
        video_url = video_url.replace("playwm", "play")
        self.__void_url = video_url

    def response(self):
        self.__mp4_url = requests.get(self.__void_url).url
        return {
            "isBase64Encoded": False,
            "statusCode": 200,
            "headers": {"Content-Type": "application/json"},
            "body": json.dumps({'mp3_title': self.__mp3_title, 'mp3_url': self.__mp3_url, 'video_url': self.__mp4_url,
                                'title': self.__title,
                                'author': self.__author})
        }


def main_handler(event, context):
    # 获取视频地址参数
    url = event['queryString']['v']
    print("参数1: " + json.dumps(event, indent=2))
    print("参数2: " + str(context))
    douyin = Douyin(url)
    douyin.request_vide()
    return douyin.response()

 

Github地址:

https://github.com/W-Lightr/watermark

 

未经允许不得转载:作者:乘风小栈, 转载或复制请以 超链接形式 并注明出处 乘风小栈
原文地址:《腾讯云函数部署抖音无水印解析接口》 发布于2021-02-15

分享到:
赞(1) 打赏 生成海报

评论 抢沙发

3 + 7 =


长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?