最近听一朋友说最近在帮家里老人家下载糖豆广场舞视频到设备上播放,使用手机下载后还要拷贝到电脑再拷到设备广场舞播放设备上非常不方便,用了点时间用Python帮他写了个小工具,随便贴下代码
Python代码
- # -*- coding:utf-8 -*-
- # Time:2020/12/19 20:33
- # Author:Chiser
- import requests
- import os
- import re
- tips = '''
- ******************************************************************
- ******************** 糖豆视频下载工具 v1.0 *******************
- ************************** By:Chiser ***************************
- ******************************************************************
- '''
- print(tips)
- try:
- os.makedirs('./Downloader/')
- except:
- pass
- while True:
- url = input('请输入糖豆视频地址:')
- vid = ''.join(re.findall('vid=(.*?)&utm', url))
- headers = {
- 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; MuMu 6.0.1 Build/V417IR) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24',
- 'Referer': 'https://share.tangdou.com/h5/play?vid=' + vid
- }
- url = 'https://api-h5.tangdou.com/sample/share/main?vid=' + vid
- response = requests.get(url, headers=headers).json()
- videos_url = response['data']['video_url']
- title = response['data']['title'] + '.mp4'
- name = {'?': '?', '*': '-', ':': ':', '"': '', '<': '【', '>': '】', '\\': '', '/': '', '|': '', ' ': ''}
- for k, v in name.items():
- if k in title:
- title = title.replace(k, v)
- try:
- if os.path.exists('./Downloader/' + title):
- print('跳过下载!!!')
- else:
- print(title, '下载中!!!')
- response = requests.get(videos_url, stream=True)
- with open('./Downloader/' + title, 'wb') as f:
- for chunnk in response.iter_content(chunk_size=5120):
- f.write(chunnk)
- print(title, '下载完成!!!\n')
- except:
- pass
后语
代码写的很渣,能用就行~奈何不会调用多线程下载,下载大视频速度有些慢,也没时间去折腾.
成品就不提供了,懒得上传~本来都不想撰写这篇文章,最终考虑还是意思意思一下~