python基于gevent實現(xiàn)并發(fā)下載器代碼實例
更新時間:2019年11月01日 15:49:13 作者:張風閑
這篇文章主要介紹了python基于gevent實現(xiàn)并發(fā)下載器代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了python基于gevent實現(xiàn)并發(fā)下載器代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
并發(fā)下載原理
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") ])
運行結(jié)果:
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.
實現(xiàn)多張圖片同時下載
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"), ])
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- python 協(xié)程 gevent原理與用法分析
- python生成器/yield協(xié)程/gevent寫簡單的圖片下載器功能示例
- Python協(xié)程操作之gevent(yield阻塞,greenlet),協(xié)程實現(xiàn)多任務(wù)(有規(guī)律的交替協(xié)作執(zhí)行)用法詳解
- Python使用grequests(gevent+requests)并發(fā)發(fā)送請求過程解析
- Python的網(wǎng)絡(luò)編程庫Gevent的安裝及使用技巧
- Python的gevent框架的入門教程
- Python greenlet和gevent使用代碼示例解析
相關(guān)文章
淺談Tensorflow由于版本問題出現(xiàn)的幾種錯誤及解決方法
今天小編就為大家分享一篇淺談Tensorflow由于版本問題出現(xiàn)的幾種錯誤及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06python+opencv實現(xiàn)移動偵測(幀差法)
這篇文章主要為大家詳細介紹了python+opencv實現(xiàn)移動偵測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03