requests多线程下载视频,不适用zip
时间: 2023-10-01 18:07:39 浏览: 48
如果你不想使用`zip`函数来一一对应URL和文件名,你可以使用索引来遍历URL和文件名列表。下面是相应的示例代码:
```python
import requests
import threading
def download(url, filename):
response = requests.get(url)
with open(filename, 'wb') as file:
file.write(response.content)
print(f"{filename} 下载完成")
def multi_thread_download(urls, filenames):
threads = []
for i in range(len(urls)):
url = urls[i]
filename = filenames[i]
thread = threading.Thread(target=download, args=(url, filename))
thread.start()
threads.append(thread)
for thread in threads:
thread.join()
# 示例用法
urls = ['https://example.com/video1.mp4', 'https://example.com/video2.mp4']
filenames = ['video1.mp4', 'video2.mp4']
multi_thread_download(urls, filenames)
```
在这个示例代码中,我们使用`range(len(urls))`来遍历`urls`和`filenames`列表的索引。然后,根据索引获取对应的URL和文件名,并传递给`download`函数进行下载。
这样做可以确保URL和文件名列表的长度可以不同,但是对应的URL和文件名仍然能够正确匹配。