1. 程式人生 > >實現多進程爬蟲的數據抓取

實現多進程爬蟲的數據抓取

multi 函數返回 參數 style 核數 返回 舉例 lis 導入

要實現多進程爬蟲的數據抓取,要用到庫multiprocessing並導入Pool:

from multiprocessing import Pool

接著導入進程池

pool = Pool(processes = 4)  #processes後接打開進程的數,與電腦核數有關,不加即自動分配。
pool.map(get_all_links_from,channel_list.split())

所有的程序會被放到進程池Pool()中並分配CPU。

此處用到了map函數,map函數會根據提供的函數對指定序列做映射。第一個參數 function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表。舉例說明如下:

print(list(map(double,[1,2,3,4])))
#[2,4,6,8]

以上即調用多進程,重點為Pool函數的使用。

實現多進程爬蟲的數據抓取