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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SQL注入的三种类型:数字型分析注入产生的原因: 访问测试地址: http://192.168.3.35/sql/...
    labixx阅读 368评论 0 1
  • @Step:测试步骤动作,放在具体业务逻辑方法中,可以放在关键步骤中,在报告中显示; @Attachments:附...
    Ivan2018阅读 96评论 0 0
  • HTTP请求 HTTP请求包括四部分,如下所示: 第一部分为“动词 路径 协议/版本”1.动词有GET(获取) P...
    宣泽彬阅读 298评论 0 0
  • 偶然爱上了荒诞,妙用了聆听的话# 试着去听他们,他们想去做的事,他们内心想告诉你痛苦和梦想,他们也正在做!
    simon_cfc0阅读 271评论 0 0
  • 老舒, 不, 小舒 听说你们简书 有人写诗赞美我这颗老树 对你们的赞许 我看简直是过度 我做了什么壮举 值得你们的...
    舒己怀_Frank阅读 333评论 34 38