# 1:首先对保存有网页源码的文件进行读取;
# 2:利用正则表达式取出所有图片的连接;
# 3:然后通过遍历将所有的连接再通过创建协程进行多任务下载;
# 4:最后将下载的图片保存在桌面上建好的文件夹里面;
import re
import gevent
from geventimport monkey
monkey.patch_all()
import urllib.request
def download(img_name,url):
rep = urllib.request.urlopen(url)
img_content = rep.read()
f =open("C:\\Users\\lenovo\\Desktop\\long\\" + img_name,"wb") #保存到桌面上创建的文件夹
f.write(img_content)
print("正在下载中,请耐心等待")
f.close()
def main():
# 1:首先对保存有网页源码的文件进行读取;
file =open("C:\\Users\\lenovo\\Desktop\\11.txt","r")
content = file.read()
# 2:利用正则表达式取出所有图片的连接;
#https: // rpic.douyucdn.cn / live - cover / appCovers / 2018 / 04 / 03 / 1975380_20180403232127_big.jpg
urls = re.findall(r"https://.+\.jpg",content)
# 3:然后通过遍历将所有的连接再通过创建协程进行多任务下载;
i =0
url_list = []
for url in urls:
url_list.append(gevent.spawn(download,"%s.jpg" % i,url))
i +=1
gevent.joinall(url_list)
if __name__ =='__main__':
main()