新闻资讯

利用多进程并发爬虫实现Python网络爬虫

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电影为例子。

代码如图

多进程并发爬虫爬取猫眼电影数据



客户经理
1179667993 18952105329