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设计模式大全
Jun 27 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
PyQt5 pyqt多线程操作入门
May 05 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
Python脚本去除文件的只读性操作
Mar 05 Python
tensorflow安装成功import tensorflow 出现问题
Apr 16 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
Apr 24 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 23 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
一个域名查询的程序
2006/10/09 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
JavaScript的Function详细
2006/11/14 Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
vue cli 全面解析
2018/02/28 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
原生js实现购物车
2020/09/23 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python提取内容关键词的方法
2015/03/16 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
男方父母婚礼答谢词
2014/01/25 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
保证书格式
2015/01/16 职场文书
投资意向协议书
2015/01/29 职场文书
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL