智联招聘爬虫demo分享

智联招聘爬虫demo分享_第1张图片

之前做过一阵子数据爬取的相关工作,现有一个基于Scrapy的智联招聘爬虫demo分享,以供初学者学习之用。

demo链接:https://github.com/xander-ye/recruit_data

智联招聘爬虫demo分享_第2张图片
项目目录结构

下面简单的介绍下

这里有三个主要的文件夹,分别是:

  • Database(数据库文件)
  • RecruitSpider(爬虫程序)
  • Datamining(数据分析统计)

其实爬虫分两种,一种是通用爬虫程序,就像搜索引擎一样,什么都爬,爬取的网站也没有固定格式,基本上也不限制域名;另外一种就是针对特定的网站,比如这里的智联招聘,它的数据具有规范的格式。

关于数据库

爬取特定网站的程序,我一般的流程是先打开要爬取的网站,收集需要爬取的内容,关键字,据此建立数据库。
这里我使用的mysqlWorkbench来生成数据库文件
mysqlWorkbench下载
具体步骤:
打开mysqlWorkbench : File>New Model > Add Diagram
点击新table按钮新建一个表,如下图:
双击表便可在下方添加字段。

智联招聘爬虫demo分享_第3张图片

创建好之后长这样:
智联招聘爬虫demo分享_第4张图片

导出数据库文件:
智联招聘爬虫demo分享_第5张图片
image.png

然后就是用这个文件去刷一下mysql就好了。
数据库环节完成。

爬虫程序

网上Scrapy也比较多,中英文的都有,这里贴一个中文的:http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html

简洁的梳理下爬取的流程:
在RecruitSpider>spiders>zhilian.py中start_requests方法开始,到parse_job_detail,此时数据item抛给了pipelines.py,在抛给pipelines.py 之前呢,item自身有个对数据处理的过程,这个过程便是在items.py中完成。
在pipelines.py中完成最终数据插入数据库操作。
涉及到的去重参见具体代码吧。

补充:
  • 爬虫部署可采用scrapyd
  • 与scrapyd配套的有scrapyd-client,封装了scrapyd的API,使得提交爬虫,调度爬虫,停止爬虫方便了许多
  • Gerapy是一个管理爬虫的web界面,也是基于scrapyd

数据分析环节

去年年终的时候猛然间发现很多公众号发布了各种领域,各个方面的很多统计报告。这就是一个数据分析的结果。现在我们数据库里面有了几十上百万的招聘数据,我们就可以从各个方面来进行分析,比如各个城市平均薪资,各个城市薪资标准差,各行业招聘数量,工资与学历关系,与工作年限关系,以及具体到某行业不同岗位薪资区别,等等。这些数据能够帮助我们了解一个行业是否兴旺发达,你当前的工资水平在整个同行业同岗位来看处于一个什么样的水平,当前最火热的岗位技术是那些;这些信息了解的越多对于找工作的同学越有利,对于准备换行的同学也是有一个极大的参考价值。

具体分析用到了pandas,可视化使用的是matplotlib,它们具体的教程各位也自行去搜索吧。

推荐下 jupyter notebook,这个工具在数据分析的时候超级方便。

这里象征性的分析了两三个数据,贴在下面:


智联招聘爬虫demo分享_第6张图片
各行业招聘人数排名
智联招聘爬虫demo分享_第7张图片
工资与学历关系
智联招聘爬虫demo分享_第8张图片
各行业平均薪资

智联招聘爬虫demo分享_第9张图片
微信公众号

你可能感兴趣的:(智联招聘爬虫demo分享)