如何使用Python實現多進程編程?
01-16
請問各位知友,如何在Python下實現多進程編程?
求各位知友推薦一些好的資料,謝謝~~PS:
現有一個腳本,用來爬取京東某一個商品前100頁的評論。如果我把這個腳本,拆成2個,第一個爬前50頁,第二個爬後50頁。兩個腳本在同一台電腦下運行。請問各位知友,這種「粗暴」的方法,算是多進程嗎?---- 謝謝每一位認真回復的知友!!~
發兩張收藏的手機壁紙,希望大家喜歡~~
拿 concurrent.futures 弄就可以了。multiprocessing 主打計算的。Python 2.x 的話,裝 futures 這個庫。
對於I/O密集運算的,一般用多線程或協程。多進程一般用在cpu密集運算方面。
爬100頁,用單線程夠了吧,爬取頻率太高,會被禁止訪問的。用multiprocessing 進程池。https://docs.python.org/2/library/multiprocessing.htmlfrom multiprocessing import Pool
def f(x):
return x*x
if __name__ == "__main__":
p = Pool(5)
print(p.map(f, [1, 2, 3]))
你這是io bound的,直接多線程就完了,跑不滿的
推薦閱讀:
※現在學完Python的就業形勢怎麼樣?
※有沒有什麼值得推薦的輕量級Python IDE?
※Python中 交換整個字典的鍵與值 最快和最簡潔的方法分別是什麼?
※什麼時候會用到python裝飾器?
※python如何恰當的判斷多個值是否在list中?