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中处理字符串之isalpha()方法的使用
May 18 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
python基础教程之Filter使用方法
Jan 17 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
TensorFlow的权值更新方法
Jun 14 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
使用python绘制温度变化雷达图
Oct 18 Python
Python pip配置国内源的方法
Feb 14 Python
如何理解python面向对象编程
Jun 01 Python
python怎么自定义捕获错误
Jun 29 Python
Python json解析库jsonpath原理及使用示例
Nov 25 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 Token(令牌)设计
2008/03/15 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
js select option对象小结
2013/12/20 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python类继承与子类实例初始化用法分析
2015/04/17 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
python递归全排列实现方法
2018/08/18 Python
python中什么是面向对象
2020/06/11 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
企业元宵节主持词
2014/03/25 职场文书
企业管理标语
2014/06/10 职场文书
新兵入伍心得体会
2014/09/04 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
初三毕业感言
2015/07/31 职场文书