python基于gevent实现并发下载器代码实例
2019-11-02 07:04
1921 查看
这篇文章主要介绍了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"), ])
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- python基于json文件实现的gearman任务自动重启代码实例
- 基于python实现的百度新歌榜、热歌榜下载器(附代码)
- 基于Python实现的扫雷游戏实例代码
- 基于python实现的百度音乐下载器python pyqt改进版(附代码)
- python使用gevent实现并发下载器
- python基于FTP实现文件传输相关功能代码实例
- 基于Python实现的扫雷游戏实例代码
- Python实现多线程下载文件的代码实例
- 数据插入一种基于CAS的无锁并发HashTable设计及C代码实现
- 基于物品的协同过滤算法itemCF原理及python代码实现
- 实现了基于TCP的Java Socket编程实例代码
- python简单实现基于SSL的IRC bot实例
- 基于python实现jenkins自动发布代码平台
- Python爬虫实例——基于BeautifulSoup和requests实现
- 基于Tkinter用50行Python代码实现简易计算器
- python基于queue和threading实现多线程下载实例
- Python实现高效求解素数代码实例
- 基于JS实现新闻列表无缝向上滚动实例代码
- 基于Angular.js实现的触摸滑动动画实例代码
- Python实现树莓派WiFi断线自动重连的实例代码