python基于gevent实现并发下载器代码实例

 更新时间:2019年11月01日 15:49:13   作者:张风闲  
这篇文章主要介绍了python基于gevent实现并发下载器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了python基于gevent实现并发下载器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

并发下载原理

import gevent
from gevent import monkey
import urllib.request
monkey.patch_all()
def my_download(url):
    print('GET: %s' % url)
    resp = urllib.request.urlopen(url)
    data = resp.read()
    print('%d bytes received from %s.' % (len(data), url))
gevent.joinall([
    gevent.spawn(my_download, "https://www.baidu.com"),
    gevent.spawn(my_download, "https://www.cnblogs.com"),
    gevent.spawn(my_download, "https://www.huya.com")
  
])

运行结果:

GET: https://www.baidu.com
GET: https://www.cnblogs.com
GET: https://www.huya.com
227 bytes received from https://www.baidu.com.
46411 bytes received from https://www.cnblogs.com.
353563 bytes received from https://www.huya.com.

实现多张图片同时下载

import gevent
from gevent import monkey
import urllib.request


monkey.patch_all()


def my_download(url, image_path):
  print('GET: %s' % url)
  resp = urllib.request.urlopen(url)
  data = resp.read()
  print('%d bytes received from %s.' % (len(data), url))
  
  with open(image_path, "wb") as f:
    f.write(data)
gevent.joinall([
  gevent.spawn(my_download, "https://huyaimg.msstatic.com/cdnimage/anchorpost/1099/4c/73ff3e6ce165fb658b2082d4d126c6_2168_1544414129.jpg", "1.jpg"),
  gevent.spawn(my_download, "https://huyaimg.msstatic.com/cdnimage/anchorpost/1020/03/7949816c55f45b9adc9f03d9330af3_2168_1542941499.jpg", "2.jpg"), 
  gevent.spawn(my_download, "https://huyaimg.msstatic.com/cdnimage/anchorpost/1061/55/8071537fa10120c43c5a1359a88530_2168_1545302709.jpg", "3.jpg"),
])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 在Django的模型中执行原始SQL查询的方法

    在Django的模型中执行原始SQL查询的方法

    这篇文章主要介绍了在Django的模型中执行原始SQL查询的方法,Django是最具人气的Python web开发框架,需要的朋友可以参考下
    2015-07-07
  • python pygame模块编写飞机大战

    python pygame模块编写飞机大战

    这篇文章主要为大家详细介绍了python pygame模块编写飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python版的文曲星猜数字游戏代码

    Python版的文曲星猜数字游戏代码

    最近开始研究python,于是写了个Python版的文曲星猜数字游戏,喜欢的朋友可以参考下
    2013-09-09
  • OpenCV搞定腾讯滑块验证码的实现代码

    OpenCV搞定腾讯滑块验证码的实现代码

    这篇文章主要介绍了OpenCV搞定腾讯滑块验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python中处理时间的几种方法小结

    Python中处理时间的几种方法小结

    这篇文章主要介绍了Python中处理时间的几种方法,包括时间的获取和时间之间的转换等等,需要的朋友可以参考下
    2015-04-04
  • windows下python 3.6.4安装配置图文教程

    windows下python 3.6.4安装配置图文教程

    这篇文章主要为大家详细介绍了windows下python 3.6.4安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python自动化办公操作PPT的实现

    python自动化办公操作PPT的实现

    这篇文章主要介绍了python自动化办公操作PPT的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python3学习笔记之多进程分布式小例子

    python3学习笔记之多进程分布式小例子

    本篇文章主要介绍了python3学习笔记之多进程分布式小例子,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 浅谈Tensorflow由于版本问题出现的几种错误及解决方法

    浅谈Tensorflow由于版本问题出现的几种错误及解决方法

    今天小编就为大家分享一篇浅谈Tensorflow由于版本问题出现的几种错误及解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python+opencv实现移动侦测(帧差法)

    python+opencv实现移动侦测(帧差法)

    这篇文章主要为大家详细介绍了python+opencv实现移动侦测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03

最新评论