那么这个模型和爬虫有什么关系呢?其实,爬虫可以认为是一个生产者,它不断从网站爬取数据,爬取到的数据就是食物;而所得数据需要消费者进行数据清洗,把有用的数据吸收掉,把无用的数据丢弃。学习资料也可以加下Python扣扣裙:四八三五四六四一六自己下载学习下
以上便是对生产者消费者模型的简单介绍了,下面针对本次爬取任务予以详细说明。
分析站点
http://www.cfachina.org/cfainfo/organbaseinfoServlet?all=personinfo
从网址及网页内容可以提取出以下信息:
网址
获取机构名称
获取机构信息对应的网页数量
每个机构的数据量是不等的,幸好每个页面都包含了当前页面数及总页面数。使用以下代码即可获取页码数。
获取当前页面从业人员信息
确定爬取方案
一般的想法当然是逐页爬取主页信息,然后获取每页所有机构对应的网页链接,进而继续爬取每个机构信息。
但是由于该网站的机构信息网址具有明显的规律,我们根据每个机构的编号便可直接得到每个机构每个信息页面的网址。所以具体爬取方案如下:
main
主函数用于创建和启动生产者线程和消费者线程,同时为生产者线程提供机构编号队列。
源码
源码图如果看不清,请保存到本地观看!