本文通过爬取智联招聘网站上的职位信息等,multiprocessing中引用的即为多进程爬虫。
主要是通过引用
from multiprocessing import Pool
multiprocessing 是Python自带的一个多进程模块,在此我们使用其中的Pool方法。
pool = Pool(processes=2) # 括号内如果为空,程序会自动设定为CPU最大核数
# 调用进程池的map_async()方法,接收一个函数(爬虫函数)和一个列表(url列表)
# 官方网站标准库文档里边map_async用法如下:p.may_async(func,[1,2,3])
# 函数会依次取出列表的每个元素作为参数来执行func(1), func(2), func(3)
pool.map_async(get_zhaopin, range(1, 8))
我们通过在python中引入time来测试多进程和单进程处理时间的问题。
因此,可以大概看出,并行比单线程耗时少的多。
有兴趣的人可以在我的github上下载该代码:https://github.com/ShaingSaying/working/bingfaxiancheng.py