亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

網頁爬蟲 - python的多進程怎么配合requests

瀏覽:114日期:2022-06-27 18:08:43

問題描述

這是單進程順序執行的代碼:

import requests,time,os,randomdef img_down(url): with open('{}'.format(str(random.random())+os.path.basename(url)),'wb') as fob:fob.write(requests.get(url).content)urllist=[]with open('urllist.txt','r+') as u: for a in u.readlines():urllist.append(a.strip())s=time.clock()for i in range(len(urllist)): img_down(urllist[i])e=time.clock()print ('time: %d' % (e-s))

這是多進程的代碼:

from multiprocessing import Poolimport requests,os,time,randomdef img_down(url): with open('{}'.format(str(random.random())+os.path.basename(url)),'wb') as fob:fob.write(requests.get(url).content)if __name__=='__main__': urllist=[] with open('urllist.txt','r+') as urlfob:for s in urlfob.readlines(): urllist.append(s.strip()) s=time.clock() p=Pool() for i in range(len(urllist)):p.apply_async(img_down,args=(urllist[i],)) p.close() p.join() e=time.clock()print ('time: {}'.format(e-s))

但是單進程和多進程花費的時間幾乎沒區別,問題大概是requests阻塞IO,請問理解的對不對,代碼該怎么修改達到多進程的目的?謝謝!

問題解答

回答1:

寫文件的瓶頸在磁盤IO,并不在CPU,你并行并沒有多大作用,你可以試試不要寫入文件再對比時間

回答2:

Pool 不帶參數的話 是采用 os.cpu_count() or 1如果是單核CPU,或者采集不到數量 就只有1個進程而已。

應該是這個原因。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产视频久久久 | 欧美一级黄色片 | 午夜国产在线观看 | 国产一级毛片一区二区三区 | 毛片女人毛片一级毛片毛片 | 免费观看黄视频 | 欧美欧美aaaaa一级毛片 | 免费亚洲黄色 | 国产精品视频区 | 日韩黄色在线视频 | 欧美.成人.综合在线 | 亚洲最黄视频 | 亚洲不卡av不卡一区二区 | 欧美久久一区二区三区 | 国产高清在线免费视频 | 日本一级成人毛片免费观看 | 成人黄色一级毛片 | 一级毛片毛片毛毛片毛片 | 黄色a视频 | 香蕉超级碰碰碰97视频在线观看 | 成人毛片国产a | 久久亚洲私人国产精品 | 亚洲国产精品久久日 | 成人免费福利视频在线观看 | xvideos视频国产chinese | 在线一区二区三区 | 黄色一级在线 | 日韩欧美在线观看综合网另类 | 久久精品国产精品亚洲20 | 一级欧美一级日韩毛片99 | 特黄特色大片免费播放 | 91丨国产| 欧美久草在线 | 免费观看污污视频 | 成人精品一级毛片 | 99久久综合九九亚洲 | 国产三级在线观看播放 | 国产在线a不卡免费视频 | 久久99精品一久久久久久 | 国产真实乱freesex | 4388x17亚洲最大成人网 |