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")
])
運行結果:
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"),
])
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關文章
淺談Tensorflow由于版本問題出現(xiàn)的幾種錯誤及解決方法
今天小編就為大家分享一篇淺談Tensorflow由于版本問題出現(xiàn)的幾種錯誤及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python+opencv實現(xiàn)移動偵測(幀差法)
這篇文章主要為大家詳細介紹了python+opencv實現(xiàn)移動偵測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03

