這篇文章主要介紹了python已協(xié)程方式處理任務(wù)實現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
創(chuàng)新互聯(lián)建站是一家專業(yè)提供東城企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站設(shè)計、HTML5建站、小程序制作等業(yè)務(wù)。10年已為東城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。#從genent中導(dǎo)入monky模塊① from gevent import monkey #把程序變成協(xié)程的方式運行② monkey.patch_all() import gevent,requests,time #導(dǎo)入requests和time start = time.time() #記錄程序開始時間 url_list = ['https://www.baidu.com/', 'https://www.sina.com.cn/', 'http://www.sohu.com/', 'https://www.qq.com/', 'https://www.163.com/', 'http://www.iqiyi.com/', 'https://www.tmall.com/', 'http://www.ifeng.com/'] #把8個網(wǎng)站封裝成列表 def get_data(url): r = requests.get(url) # 用requests.get()函數(shù)爬取網(wǎng)站 print(url, time.time()-start,r.status_code) task_list=[] # 創(chuàng)建一個空列表 for url in url_list: # 用gevent里面的spawn函數(shù)創(chuàng)建任務(wù) get_data是方法名,url是參數(shù)③ task=gevent.spawn(get_data,url) # 將創(chuàng)建的任務(wù)添加到task_list④ task_list.append(task) #執(zhí)行任務(wù)列表中的所有任務(wù)⑤ gevent.joinall(task_list) end = time.time() #記錄程序結(jié)束時間 print(end-start) #end-start是結(jié)束時間減去開始時間,就是最終所花時間。