2018-05-08

# 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()

你可能感兴趣的:(2018-05-08)