智联招聘(NYSE:ZPIN):为求职者提供免费注册、求职指导、简历管理、职业测评等服务的一个网站,它提供了丰富的求职信息,可以很快的查询到符合自己职位。如我查询贵州python职位需求的信息。
智联官网: https://www.zhaopin.com/
时间: 2019/08/09
爬取内容: 职位名称,工作类型,公司名称,工资,地点,经验,学历,性质,规模,福利,发布时间等等。
操作环境: win10, python3.6, jupyter notebook,谷歌浏览器
技术实现思路:
- 在官网搜索python,地点选择贵阳
- 寻找数据接口
- 实现路径跳转
- 请求数据
- 提取数据
- 保存数据
- 所有源码汇总
思路分步讲解
1、在官网搜索python,地点选择贵阳
2、寻找数据接口
2.1、右击>检查>Network>XHR>F5刷新
2.2、这样就找到传递数据的链接了,怎么确定是它呢?
方法一、 先往数据大的路径看,通常都是它
方法二、 精准确定,保证我们选择的路径是正确的
方法三、 也可以复制它的路径到浏览器中打开
在浏览器中打开后确定信息:
3、实现路径跳转
在网页的底部,观察到网页有两个页面,而我们的这样获取的只有一个路径,对于页面少的,我们可以把每个路径直接传进去,但对于页面很多的,一个一个的传就不理想了,所以有必要解析网页路径的特点。
3.1、分析路径
两个路径对比:
#第一页
https://fe-api.zhaopin.com/c/i/sou?pageSize=90&cityId=822&salary=0,0&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=python&kt=3&=0&_v=0.75508750&x-zp-page-request-id=f4e899b607de43fc935218583d6094db-1565338782448-477976&x-zp-client-id=05921ca2-9b48-4f9b-b9d7-4fb38764fb3b
#第二页
https://fe-api.zhaopin.com/c/i/sou?start=90&pageSize=90&cityId=822&salary=0,0&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=python&kt=3&=0&_v=0.07041181&x-zp-page-request-id=c606b527a1444fc785e351546979e9b0-1565338838650-260626&x-zp-client-id=05921ca2-9b48-4f9b-b9d7-4fb38764fb3b
对比结果:
(1)第一个路径缺少start=90
,90的意思是上个页面加载了90条数据,所以可以给第一个路径缺少的地方改为start=0
,浏览器会自己解析回来的。
(2)这里发现它们的id也不一样,这是请求服务器时产生的id,每次都会变化,可以试试。在这里不需要管它,并不影响结果
3.2、在浏览器检查刚匹配的第一页路径是否正确
检查无误,匹配结果正确!!!可以用这个方法实现网页跳转