午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

網(wǎng)頁爬蟲 - python的多進程怎么配合requests

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

問題描述

這是單進程順序執(zhí)行的代碼:

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))

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

問題解答

回答1:

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

回答2:

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

應該是這個原因。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: av青娱乐 | 91在线视频免费 | 天天操天天操 | 成人影片免费 | 小明永久2015xxx免费看视频 | 91玖玖| 日韩国产在线播放 | 亚日韩在线 | 黄色伊人网 | 91色视频在线 | 欧洲一区二区在线 | 中日韩欧美在线观看 | 欧美综合社区 | 免费黄色片子 | 午夜资源站 | 国产一区二区av | 日本一区二区三区在线观看视频 | 国产一区二区三区免费播放 | 久久国产热视频 | 激情婷婷色 | 日本三区视频 | 亚洲成人动漫在线观看 | 佳佳黑色脚footjob调教 | 91日韩| 日本伊人影院 | 亚洲精品一区二三区 | 看av在线 | 亚洲精品国产成人 | 日韩在线视频免费看 | 好吊妞这里有精品 | 日本中文字幕视频 | 久久色资源网 | 亚洲欧洲免费 | 色网站在线 | 国产精品日日夜夜 | v天堂中文在线 | 中文字幕日产乱码中 | 久久久久亚洲精品国产 | 美女一二区| 色动态| av大片在线观看 |