python基于gevent實(shí)現(xiàn)并發(fā)下載器代碼實(shí)例
這篇文章主要介紹了python基于gevent實(shí)現(xiàn)并發(fā)下載器代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
并發(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")
])
運(yùn)行結(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.
實(shí)現(xiàn)多張圖片同時(shí)下載
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"),
])
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python 協(xié)程 gevent原理與用法分析
- python生成器/yield協(xié)程/gevent寫(xiě)簡(jiǎn)單的圖片下載器功能示例
- Python協(xié)程操作之gevent(yield阻塞,greenlet),協(xié)程實(shí)現(xiàn)多任務(wù)(有規(guī)律的交替協(xié)作執(zhí)行)用法詳解
- Python使用grequests(gevent+requests)并發(fā)發(fā)送請(qǐng)求過(guò)程解析
- Python的網(wǎng)絡(luò)編程庫(kù)Gevent的安裝及使用技巧
- Python的gevent框架的入門(mén)教程
- Python greenlet和gevent使用代碼示例解析
相關(guān)文章
基于Keras的格式化輸出Loss實(shí)現(xiàn)方式
這篇文章主要介紹了基于Keras的格式化輸出Loss實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Python實(shí)現(xiàn)視頻分解成圖片+圖片合成視頻
這篇文章主要介紹了如何利用Python實(shí)現(xiàn)視頻分解成圖片以及將圖片合成為視頻,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-04-04
Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片
這篇文章主要介紹了Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python利用numpy實(shí)現(xiàn)三層神經(jīng)網(wǎng)絡(luò)的示例代碼
這篇文章主要介紹了Python利用numpy實(shí)現(xiàn)三層神經(jīng)網(wǎng)絡(luò)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
pycharm設(shè)置當(dāng)前工作目錄的操作(working directory)
今天小編就為大家分享一篇pycharm設(shè)置當(dāng)前工作目錄的操作(working directory),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
python多進(jìn)程下實(shí)現(xiàn)日志記錄按時(shí)間分割
這篇文章主要為大家詳細(xì)介紹了python多進(jìn)程下實(shí)現(xiàn)日志記錄按時(shí)間分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
pip安裝時(shí)ReadTimeoutError的解決方法
今天小編就為大家分享一篇pip安裝時(shí)ReadTimeoutError的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐
本文主要介紹了Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

