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的Flask框架中实现简单的登录功能的教程
Apr 20 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
python Crypto模块的安装与使用方法
Dec 21 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
python创建文件备份的脚本
Sep 11 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
使用python serial 获取所有的串口名称的实例
Jul 02 Python
详解Python3定时器任务代码
Sep 23 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
Pyinstaller加密打包应用的示例代码
Jun 11 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 Python
python批量生成条形码的示例
Oct 10 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
星际实力自我测试
2020/03/04 星际争霸
一个php作的文本留言本的例子(六)
2006/10/09 PHP
php foreach、while性能比较
2009/10/15 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
PHP生成plist数据的方法
2015/06/16 PHP
php中namespace及use用法分析
2016/12/06 PHP
php实现登录页面的简单实例
2019/09/29 PHP
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
使用Python求解最大公约数的实现方法
2015/08/20 Python
python中requests小技巧
2017/05/10 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
大专生工程监理求职信
2013/10/04 职场文书
商务英语专业毕业生自荐信
2013/11/05 职场文书
函授本科自我鉴定
2014/02/04 职场文书
2014全年工作总结
2014/11/27 职场文书
停电放假通知
2015/04/14 职场文书
小学入学感言
2015/08/01 职场文书
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript