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 08 Python
详解python之简单主机批量管理工具
Jan 27 Python
Python中最大最小赋值小技巧(分享)
Dec 23 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
Python3数字求和的实例
Feb 19 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
用python做游戏的细节详解
Jun 25 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
python requests包的request()函数中的参数-params和data的区别介绍
May 05 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 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不用正则采集速度探究总结
2008/03/24 PHP
php向js函数传参的几种方法
2014/08/10 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
Javascript 类、命名空间、代码组织代码
2011/07/31 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
python获取一组汉字拼音首字母的方法
2015/07/01 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
python中dict使用方法详解
2019/07/17 Python
Django 返回json数据的实现示例
2020/03/05 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
浅谈django channels 路由误导
2020/05/28 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
毕业生自我推荐
2013/11/04 职场文书
党员的自我评价范文
2014/01/02 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
现场施工员岗位职责
2014/03/10 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
工会趣味活动方案
2014/08/18 职场文书
2016年校长新年寄语
2015/08/17 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技