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 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
十个Python程序员易犯的错误
Dec 15 Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
django使用html模板减少代码代码解析
Dec 12 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
对Python3中的input函数详解
Apr 22 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
python对列进行平移变换的方法(shift)
Jan 10 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
Jun 25 Python
Pycharm及python安装详细教程(图解)
Jul 31 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 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&java(二)
2006/10/09 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
Javascript 入门基础学习
2010/03/10 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
Bootstrap媒体对象的实现
2016/05/01 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
Python hashlib模块用法实例分析
2018/06/12 Python
PyQt5 多窗口连接实例
2019/06/19 Python
python切割图片的示例
2020/11/12 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
护理专业本科生自荐信
2013/10/01 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
护士毕业生自荐信
2014/02/07 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
领导班子整改方案
2014/10/25 职场文书
酒店宣传语大全
2015/07/13 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL