“鼓上蚤”带你实战之Boss直聘爬虫

时间:2022-10-05 20:14:06

1 . 前言

2 . 数据需求

3 . 分析页面

1前言

目前来说,在互联网招聘界有一个“蓬勃生长”的“招聘小巨头”,也就是我们这期被爬的第一“男猪脚”----Boss直聘
“鼓上蚤”带你实战之Boss直聘爬虫
logo.png

,为什么说它是小巨头呢,也是因为其成立于2014年,短短两三年的时间,凭借其“让Boss主动找你”的职业推荐理念获得广大用户的青睐,目前也是稳稳立足于“互联网招聘三巨头”之一,于是我们凭借着我们谁热门我爬谁的理念,我们把目标对准了它。

2数据需求

第二步我们来了解一下我们希望爬下来哪些数据,首先进入筛选页面


“鼓上蚤”带你实战之Boss直聘爬虫
筛选页.png

我们希望能够做到数据参数大概是以下这样

id area_info  position_type company_info position_info new_or_hot

也就是我们可以这五个参数来确定一个职位列表,分别是地区信息、职位要求、公司要求,排序要求、岗位分类,我们依靠这五个大的参数集合确定一个列表。

接下来我们来看看详情页的内容


“鼓上蚤”带你实战之Boss直聘爬虫
详情页.png

我们可以确定的每个职位信息包括以下几个方面

发布时间 发布人 职位公司 职位信息(职位名称 职位薪资 职位要求 工作职责 职位标签 )

3分析页面

打开Firefox的Web控制台,我们先看看列表页的获取


“鼓上蚤”带你实战之Boss直聘爬虫
筛选页分析.png

我们可以看到关于搜索栏的地方,不同条件会跳转去GET请求一个新的页面,我们具体看看参数


“鼓上蚤”带你实战之Boss直聘爬虫
参数1.png

我们可以看到有四个主要的参数
query:查询
scity:城市编号
industry:行业编号
position:职业标号

我们下面再看看不同选项有什么影响


“鼓上蚤”带你实战之Boss直聘爬虫
筛选页分析1.png

我们可以看到不同城市对应的cXXXXXX是不同的,也就是城市码不同,并且在细化的话a后面是路,b后面是区,h后面都是一样的,也就是北京的城市码,我们来看看参数


“鼓上蚤”带你实战之Boss直聘爬虫
参数2.png

包含

query:查询条件
ka:具体选项

我们再来看看多个选项后的结果

https://www.zhipin.com/c101010100-p100109/
e_105-d_204-y_5-a_双井-b_朝阳区-h_101010100-t_801
/?query=python&ka=sel-degree-204

e、d、y后面都是之前我们选的结果,最后ka之后的结果是我们上次选的,也就能够得到我们这次想要的结果了,好,到这里我们就把筛选页分析完了,我们接下来分析一下详情页


“鼓上蚤”带你实战之Boss直聘爬虫
详情页分析.png

我们发现详情页就是一个普通的GET查询,而具体的ID就是通过筛选页得到的

好,我们分析就到这里了,藉由这些分析结果我们就可以来开始编我们的代码了,以及观察后面大规模爬取的结果来看看是否有一些反爬策略。
具体实战代码可以关注我的github:flea-鼓上蚤系列

欢迎加我微信以及微信群,我们一起来探讨爬虫方面的信息


“鼓上蚤”带你实战之Boss直聘爬虫
微信图片_20180527142309.jpg
“鼓上蚤”带你实战之Boss直聘爬虫
微信图片_20180527142819.jpg