Python爬取智联招聘数据分析师岗位相关信息的方法


Posted in Python onAugust 13, 2019

进入智联招聘官网,在搜索界面输入‘数据分析师',界面跳转,按F12查看网页源码,点击network

Python爬取智联招聘数据分析师岗位相关信息的方法

 选中XHR,然后刷新网页

Python爬取智联招聘数据分析师岗位相关信息的方法

可以看到一些Ajax请求, 找到画红线的XHR文件,点击可以看到网页的一些信息

Python爬取智联招聘数据分析师岗位相关信息的方法

Python爬取智联招聘数据分析师岗位相关信息的方法

Python爬取智联招聘数据分析师岗位相关信息的方法

在Header中有Request URL,我们需要通过找寻Request URL的特点来构造这个请求网址,

点击Preview,可以看到我们所需要的信息就存在result中,这信息基本是json格式,有些是列表;

下面我们通过Python爬虫来爬取上面的信息;

代码如下:

import requests
from urllib.parse import urlencode
import json
#from requests import codes
#import os
#from hashlib import md5
#from multiprocessing.pool import Pool
#import re
 
 
def get_page(offset):
  params = {
    'start': offset,
    'pageSize': '90',
    'cityId': '530',
    'salary': '0,0',
    'workExperience': '-1',
    'education': '-1',
    'companyType': '-1',
    'employmentType': '-1',
    'jobWelfareTag': '-1',
    'kw': '数据分析师',
    'kt': '3',
    '_v': '0.77091902',
    'x-zp-page-request-id': '8ff0aa73bf834b408f46324e44d89b84-1562722989022-210101',
    'x-zp-client-id': '2dc4c9a4-e80d-4488-84a3-03426dd69a1e'
    
    
  }
  base_url = 'https://fe-api.zhaopin.com/c/i/sou?'
  url = base_url + urlencode(params)
  try:
    resp = requests.get(url)
    print(url)
    if 200 == resp.status_code:
      print(resp.json())
      return resp.json()
  except requests.ConnectionError:
    return None
 
 
def get_information(json_page):
  if json_page.get('data'):
    results = json_page.get('data').get('results')    
    for result in results:
       yield {
         'city': result.get('city').get('display'),
          'company': result.get('company').get('name'),
          #'welfare':result.get('welfare'),
          'workingExp':result.get('workingExp').get('name'),
          'salary':result.get('salary'),
          'eduLevel':result.get('eduLevel').get('name')
        }
print('succ')
 
def write_to_file(content):
   with open('result.txt','a',encoding='utf-8') as f:
      print(type(json.dumps(content)))
      f.write(json.dumps(content,ensure_ascii=False)+'\n')
   
   
def main(offset):
  json_page=get_page(offset)  
  for content in get_information(json_page):
    write_to_file(content)
  
if __name__=='__main__':
   for i in range(10):
      main(offset=90*i)

爬取结果如下:

Python爬取智联招聘数据分析师岗位相关信息的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python代码的打包与发布详解
Jul 30 Python
简单解析Django框架中的表单验证
Jul 17 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
Django自定义manage命令实例代码
Feb 11 Python
pip安装时ReadTimeoutError的解决方法
Jun 12 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
python实现顺时针打印矩阵
Mar 02 Python
python随机数分布random均匀分布实例
Nov 27 Python
python pyenv多版本管理工具的使用
Dec 23 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 Python
python 装饰器重要在哪
Feb 14 Python
python 爬取京东指定商品评论并进行情感分析
May 27 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 #Python
Python 写入训练日志文件并控制台输出解析
Aug 13 #Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 #Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 #Python
Django项目中实现使用qq第三方登录功能
Aug 13 #Python
一篇文章搞定Python操作文件与目录
Aug 13 #Python
Python Django Cookie 简单用法解析
Aug 13 #Python
You might like
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
python解释器spython使用及原理解析
2019/08/24 Python
python 表格打印代码实例解析
2019/10/12 Python
python中count函数简单用法
2020/01/05 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
几个判断型的面试题
2012/07/03 面试题
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
机械生产实习心得体会
2016/01/22 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
Moment的feature导致线上bug解决分析
2022/09/23 Javascript