欢迎光临
我们一直在努力

抖音去水印下载python源码

 

import requests
import re
import json
import os
 
 
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)
        print('%s 下载完成!' % name_vidObj['file_name'])
 
 
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 = input('输入抖音url短链: ')
            if url != '':
                break
 
        getVideo.url = url
        try:
            getVideo.down_video(getVideo.get_video_info())
            print('\n')
        except:
            print('错误的分享链接,或该接口失效\n')
            input('按任意键重试\n')
            os.system('cls')
   

如果文章对你有帮助,欢迎点击上方按钮打赏作者

未经允许不得转载:军哥驿站 » 抖音去水印下载python源码

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

军哥驿站 建站更专业 更方便

网站开发联系我们