python多线程下载视频_python实现抖音多线程下载无水印视频【附源码】

昨天发了一个无水印解析,评论说想要多线程下载,还是比较简单的。 py文件同目录下创建url.txt,把链接一行一行复制进去,就能批量下载。

代码中的延时不能去掉,由于是多线程,速度较快,延时很重要。

import re

import requests

from concurrent import futures

import time

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36'}

def download(_url):

try:

time.sleep(0.3)

html3 = requests.head(_url,headers = headers)

download_url = html3.headers['Location']

video_file = requests.get(download_url,headers = headers)

file_name = download_url.split('=')[-1]

print(file_name)

except:

print('Error')

with open(file_name + '.mp4','wb') as code:

code.write(video_file.content)

def main():

data_file = open('url.txt')

data_url = data_file.read()

data_url_list1 = data_url.split('\n')

Threads = futures.ThreadPoolExecutor(min(Max_workers,len(data_url_list1)))

for x in data_url_list1:

html1 = requests.head(x)

first_url = html1.headers['Location']

html2 = requests.get(first_url,headers = headers)

text_data = html2.text

video_player_url1 = re.findall('playAddr: "(.*?)"',text_data,re.S)[0]

video_player_url2 = video_player_url1.replace('wm','')

#download(video_player_url2)

Threads.submit(download,video_player_url2)

Max_workers = 5

main()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值