level 5
耐撸zfb😁
楼主
Python爬虫的多线程下,每个线程的执行方式为:
获取Gil
执行代码知道sleep或者是Python虚拟机将其挂起
释放Gil
Python中使用多进程需要multiprocessing,以及提供了process、queue、pipe、lock、pool等组件,这里主要使用的是pool,可以叫做进程池。
使用pool先了解下:
pool = Pool(n) #建立进程池,n就是代表了建立几个进程,这个n的设定一般与cpu的核数一样
pool.map(def,list)#把列表list里面的每一项映射到你所定义的def函数内,有点通过这句话做list各项循环的意味
pool.close()#关闭进程池,不再接受新的进程
pool.join()#主进程阻塞等待子进程安全退出,父子进程同步
多进程爬虫实例:
这里以爬取猫眼电影中的top100电影为例子。
代码如图

2020年03月31日 02点03分
1
获取Gil
执行代码知道sleep或者是Python虚拟机将其挂起
释放Gil
Python中使用多进程需要multiprocessing,以及提供了process、queue、pipe、lock、pool等组件,这里主要使用的是pool,可以叫做进程池。
使用pool先了解下:
pool = Pool(n) #建立进程池,n就是代表了建立几个进程,这个n的设定一般与cpu的核数一样
pool.map(def,list)#把列表list里面的每一项映射到你所定义的def函数内,有点通过这句话做list各项循环的意味
pool.close()#关闭进程池,不再接受新的进程
pool.join()#主进程阻塞等待子进程安全退出,父子进程同步
多进程爬虫实例:
这里以爬取猫眼电影中的top100电影为例子。
代码如图
