网络通信 案例 网络爬虫 多任务 携程 图片下载器

import urllib.request
import gevent  # 引用多任务携程
from gevent import monkey

monkey.patch_all()  # 这个指令可以让所有会占用时间的地方修改代码

def downloader(img_name,img_url):  # 传入一个参数  叫url(网址)
    req = urllib.request.urlopen(img_url)  # 确定网址
    img_content = req.read()  # 读取该网站

    with open(img_name,"wb") as f :  # 读入图片
        f.write(img_content)

def main():
    gevent.joinall(  # 创建携程共同运行的方法
        [
            gevent.spawn(downloader,"1.jpg","https://img1.doubanio.com/view/photo/albumcover/public/p2519255768.webp"),  # 公式 第一个是要调用的函数 第二个是下载图片的出来的名称,第三个是网址
            gevent.spawn(downloader,"2.jpg","https://img1.doubanio.com/view/photo/albumcover/public/p1139666687.webp")
        ]
    )




if __name__ == '__main__':
    main()

第一次  写网爬   用的是  携程  的写法  因为写携程占用的  资源最小 而且当下载任务时候  会占用时间  所以用携程 可以实现 同时多任务图片爬取

 

posted @ 2018-11-22 19:33  Mr喃先森  阅读(235)  评论(0)    收藏  举报