import os
import threading
import requests
from get_img_url import get_img_url
# 下载单张图片方法,方法入参为图片url地址和图片名称
def download_image(url, filename):
response = requests.get(url)
with open(filename, 'wb') as f:
f.write(response.content)
def main():
# 创建一个线程列表
threads = []
# 创建一个文件夹来保存图片
if not os.path.exists('images'):
os.makedirs('images')
for index, url in enumerate(img_url_list):
# 为每个图片生成一个文件名
filename = f'images/image_{index}.jpg'
# 创建并启动线程,将单个下载图片方法作为入参放入target中,图片方法函数本身入参放入args中
t = threading.Thread(target=download_image, args=(url, filename))
t.start()
threads.append(t)
# 等待所有线程完成
for t in threads:
t.join()
if __name__ == '__main__':
# 1. 修改关键词
keyword = '小姐姐'
# 2. 获取指定关键词的图片链接
img_url_list = get_img_url(keyword)
# 3. 多线程下载图片到指定位置
main()