multiprocessing是Python的一个多进程库,它可以实现多进程的操作。但是由于进程与进程之间不能直接共享资源,而且启动新的进程开销也比线程大得多。因此我们使用多线程来爬取。multiprocessing下面有一个dummy模块,它可以让Python的线程使用multiprocessing各种方法。
dummy下面有一个Pool类,它用来实现线程池。这个线程池有一个map 方法。这个方法可以让线程池里面的所有线程都“同时”执行一个函数。
from multiprocessing.dummy importPool
pool = Pool(10)
results = pool.map(爬取函数, 网址列表)