色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:119日期: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 編程
相關文章:
主站蜘蛛池模板: 91精品国产一区二区三区四区 | 久久99精品久久久久久综合 | 日韩免费在线 | 国产男女乱淫真视频全程播放 | 九草在线 | 国产成人综合网亚洲欧美在线 | 国产一区二区三区欧美 | 免费看欧美成人性色生活片 | 国产精品一区二区综合 | 国产福利不卡一区二区三区 | 亚洲综合精品一二三区在线 | 午夜一级影院 | 日韩一级a毛片欧美一级 | 美女张开腿给人网站 | 欧美日本在线三级视频 | 久久精品免费观看久久 | 一级美国乱色毛片 | 欧美成人亚洲高清在线观看 | 国产成人综合欧美精品久久 | 欧美一二区视频 | 亚洲欧美视频 | 国产福利不卡一区二区三区 | 久久久国产一区二区三区丝袜 | 亚洲影视一区二区 | 草草视频免费观看 | 欧美亚洲一级片 | 经典三级久久 | 九九视频高清视频免费观看 | a毛片久久免费观看 | 男女男精品视频在线播放 | 黄色三级视频在线 | 亚洲欧美成人综合在线 | 日本黄色官网 | 久久99国产乱子伦精品免费 | 中文字幕中文字幕在线 | 精品国产一区二区三区四区不 | 国产高清美女一级毛片久久 | 国产www| 成人做爰视频www在线观看 | 精品一区二区三区在线视频 | 日本久久久久久久久久 |