python数据分析:采集分析岗位数据,看看薪资的高低都受什么因素影响呢

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

又到了学Python时刻~

在我们学习的时候,通常会产生疑问:这个行业前景好不好呢?

今天我们就用python的数据分析这个就业方向来举例

看一下都有哪些因素影响了薪资的高低呢?

数据采集

模块使用:

requests                 第三方模块
pyecharts                可视化模块
pandas                   操作表格

开发环境:

版 本:   python3.8
编辑器:  pycharm

思路分析

代码展示

导入模块

import requests     # 第三方模块 发送请求
import re           # 内置模块
import json         # 内置模块
import csv
f = open('lagou.csv', mode='a', newline='', encoding='utf-8')
csv_writer = csv.writer(f)
csv_writer.writerow(['positionName', 'companyFullName', 'companySize', 'financeStage', 'city', 'district', 'salary', 'salaryMonth', 'workYear', 'jobNature', 'education'])

伪装 像正常的用户

( 因不可抗原因,不能出现网址,会发不出去,用图片代替了,大家照着敲一下

或者点击此处跳转跳转文末名片加入裙聊,找管理员小姐姐领取呀~ )

for page in range(1, 31):
    print(f'###正在爬取第{
   
   page}页###')

  1. 发送请求
    response = requests.get(url=url, headers=headers)
  1. 获取数据
    html_data = response.text
  1. 解析数据 提取数据
    # 结构化数据: json数据 ==> {}所包裹的数据 非常好提取
    # 非结构化数据: 网页源代码  方式方法: css/xpath/re     模块/工具: bs4/lxml/parsel/re
    # re: 搜索功能 高级用法
    # .*?: 匹配任意字符
    # <script id="__NEXT_DATA__" type="application/json">(.*?)</script>
    json_str = re.findall('<script id="__NEXT_DATA__" type="application/json">(.*?)</script>', html_data)[0]
    json_dict = json.loads(json_str)
    result = json_dict['props']['pageProps']['initData']['content']['positionResult']['result']
    # result:  15个岗位信息
    for res in result:
        positionName = res['positionName']
        companyFullName = res['companyFullName']
        companySize = res['companySize']
        financeStage = res['financeStage']
        city = res['city']
        district = res['district']
        salary = res['salary']
        salaryMonth = res['salaryMonth']
        workYear = res['workYear']
        jobNature = res['jobNature']
        education = res['education']
        print(positionName, companyFullName, companySize, financeStage, city, district, salary, salaryMonth, workYear, jobNature, education)
  1. 保存数据
        csv_writer.writerow([positionName, companyFullName, companySize, financeStage, city, district, salary, salaryMonth, workYear, jobNature, education])

PS:完整源码或数据集如有需要的小伙伴可以加下方的群去找管理员免费领取

数据分析

一、数据集

首先我们来上面采集的数据集:拉gou网的数据分析岗位数据

二、分析方向

1.数据分析岗位的薪资状况?

2.各城市对数据分析岗位的需求情况?

3.岗位的学历要求高吗?

4.公司都要求什么掌握什么技能?

三、代码展示

导包和数据

import pandas as pd
import numpy as np
import seaborn as sns
from pyecharts.charts import Pie
from pyecharts import options as opts
import matplotlib.pyplot as plt
%matplotlib inline
sns.set_style('white',{
   
   'font.sans-serif':['simhei','Arial']})
pd.set_option("display.max_column", None)
pd.set_option("display.max_row",None)
读取数据
df = pd.read_csv('lagouw.csv')
df.head()

取出我们进行后续分析所需的字段

columns = ["positionName", "companyShortName", "city", "companySize", "education", "financeStage",
           "industryField", "salary", "workYear", "hitags", "companyLabelList", "job_detail"]
df[columns].drop_duplicates() #去重

数据清洗

去掉非数据分析岗的数据

筛选出我们想要的字段,并剔除positionName

df = df[cond_1 & cond_2]
df.drop(["positionName"], axis=1, inplace=True)
df.reset_index(drop=True, inplace=True)
df.head
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值