腾讯云函数部署抖音无水印解析接口
使用腾讯云函数(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://www.lightr.cn/archives/1187.html
来源:乘风小栈
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
打赏


共有 0 条评论