本文来源吾爱破解论坛
本帖最后由 hksnow 于 2019-2-23 16:39 编辑
昨天发了一个无水印解析,评论说想要多线程下载,还是比较简单的。
py文件同目录下创建url.txt,把链接一行一行复制进去,就能批量下载。
代码中的延时不能去掉,由于是多线程,速度较快,延时很重要。
不上文件了,直接复制代码使用吧
[Python] 纯文本查看 复制代码
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()
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 爬虫作品分享---渣渣网站模拟登录并改密
- 下一篇: python移动目录下所有子目录文件到新的总目录