国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:126日期: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精品在线国产 | 国产操操| 日本免费久久 | 亚洲系列中文字幕一区二区 | 二区在线观看 | 亚洲性视频在线 | 97超频国产在线公开免费视频 | 亚洲高清在线观看 | 国产精品亚洲欧美日韩久久 | 日韩色在线 | 日日干日日操日日射 | 国产成人精品一区二区免费 | 怡红院在线a男人的天堂 | 一本大道香蕉大vr在线吗视频 | 日本免费人成黄页在线观看视频 | 久草网站在线观看 | 久草在线视频中文 | 亚洲成在人 | 日本高清va不卡视频在线观看 | 欧美一区二区在线 | 最新国产精品亚洲二区 | 欧美性色黄在线视 | 免费观看一级特黄欧美大片 | 亚洲日产综合欧美一区二区 | 成人免费网站在线观看 | 亚洲国产精品综合久久 | 2018av男人天堂 | 在线精品免费观看综合 | 日本在线毛片视频免费看 | 男人和女人在床做黄的网站 | 青草青99久久99九九99九九九 | 福利国产视频 | 久污| 在线黄色影院 | 中日韩精品视频在线观看 | 加勒比在线免费视频 | 99爱在线视频这里只有精品 | 一区二区三区影院 | 67194午夜 | 日韩一区二区三区在线 |