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 相关文章推荐
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
浅析python打包工具distutils、setuptools
Apr 20 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
记录Python脚本的运行日志的方法
Jun 05 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
Apr 14 Python
Django设置Postgresql的操作
May 14 Python
python入门:argparse浅析 nargs='+'作用
Jul 12 Python
Python实现迪杰斯特拉算法过程解析
Sep 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
PHP中动态显示签名和ip原理
2007/03/28 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
php旋转图片90度的方法
2013/11/07 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
php图像处理类实例
2015/07/28 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Python快速排序算法实例分析
2017/11/29 Python
【python】matplotlib动态显示详解
2019/04/11 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
keras:model.compile损失函数的用法
2020/07/01 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
英语专业毕业个人求职自荐信
2013/09/21 职场文书
师范生实习自我鉴定
2013/11/01 职场文书
好的旅游活动方案
2014/08/19 职场文书
购房委托书范本
2014/09/18 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书