Python抖音去水印_一步到位_一蓑烟雨任平生

直接上代码

import requests
import json

import easygui
from tkinter import messagebox
from tkinter import *


top = Tk()
top.withdraw()


class douyin_video():
    def __init__(self):
        self.headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
                        'Accept-Encoding': 'gzip, deflate, sdch, br',
                        'Accept-Language': 'zh-CN,zh;q=0.8',
                        'Connection': 'keep-alive',
                        'Upgrade-Insecure-Requests': '1',
                        'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Mobile Safari/537.36'
                        }
        self.url = ''

    def get_video_info(self):
        video_id = re.search('video/.*?/', get_local_url(headers=self.headers, url=self.url)).group().replace('video/',
                                                                                                              '').replace(
            '/', '')
        url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=' + video_id
        res = requests.get(url=url)
        data = json.loads(res.content)['item_list'][0]
        return {
            'file_name': validateTitle(data['desc']),
            'vid': data['video']['vid']
        }

    def down_video(self, name_vidObj):
        url = 'https://aweme.snssdk.com/aweme/v1/play/?video_id=%s&ratio=720p&line=0' % name_vidObj['vid']
        video_url = get_local_url(url=url, headers=self.headers)
        res = requests.get(url=video_url)
        with open(name_vidObj['file_name'] + '.mp4', 'wb') as  f:
            f.write(res.content)
        messagebox.showinfo("提示", "下载完成")


def get_local_url(url, headers):
    html = requests.get(url, headers=headers, allow_redirects=False)
    return html.headers['Location']


def validateTitle(title):
    rstr = r"[\/\\\:\*\?\"\<\>\|]"  # '/ \ : * ? " < > |'
    new_title = re.sub(rstr, "_", title)  # 替换为下划线
    return new_title


if __name__ == '__main__':
    getVideo = douyin_video()
    # while True:
    while True:
        url = str(easygui.multenterbox('抖音水印去除', '一蓑烟雨任平生',
                                       fields=['这里输入抖音视频地址链接(抖音中分享链接获取)'],
                                       values=[''])[0])
        if url != '':
            break
    getVideo.url = url
    try:
        getVideo.down_video(getVideo.get_video_info())
        print('\n')
    except:
        messagebox.showwarning("提示", "错误的分享链接,或该接口失效")

效果

在这里插入图片描述
在这里插入图片描述

完事

在这里插入图片描述

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值