Python分析51job岗位、多元回归建模预测薪资

本文使用Python爬虫获取51job数据,分析Python岗位的区域分布、薪资、经验及学历要求。结果显示一线城市需求最多,薪资主要在5k-18k,2-3年经验需求大,学历要求以本科为主,工作经验和学历对薪资有正向影响。并通过多元回归模型预测薪资。
摘要由CSDN通过智能技术生成

项目背景

最近在寻找数据分析师的工作,需要了解数据分析师相关岗位的现状,通过招聘网站信息来了解企业的用人要求是最直接也是最简单的途径,这里以Python岗位为例做一个简单的分析报告。

明确分析目的

分析Python岗位近期的招聘情况,包括区域分析、薪资分布、经验要求分布等,了解最新该岗位的招聘情况;利用多元回归建模预测薪资情况。

分析工具

使用Python的Lxml库写爬虫到51job网站爬取数据,分析和可视化均使用Python,主要用到request、lxml、pandas、matplotlib等包。

数据来源
数据来源于51job网站,数据包含字段:'职位’title,'公司名’name,'城市’city,'工资’wage,'发布日期’date,'经验要求’exp,'学历’xueli

数据爬取代码

from urllib import request
from lxml import etree
import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn as sns
import csv
import gevent
from gevent import monkey
monkey.patch_all() 
plt.rcParams['font.sans-serif']=['SimHei']
  
##获取网页
def get_html(url,code):
    response = request.urlopen(url)
    html = response.read().decode(code)

    html = etree.HTML(html)
    html = etree.ElementTree(html)
    return html

##获取关键字段的信息列表    
def get_list(html):
    datas = html.xpath('//div[@id="resultList"]/div[@class="el"]')
    list = []
    for i,data in enumerate(datas):
        data = etree.ElementTree(data)
        title = data.xpath('/div/p/span/a/@title')[0]
        name = data.xpath('/div/span/a/text()')[0]
        city = data.xpath('/div/span[2]/text()')[0]
        city = city if city else None
        wage = data.xpath('/div/span[3]/text()')
        wage = wage[0] if wage else None
        date = data.xpath('/div/span[4]/text()')[0]
        link = data.xpath('/div/p/span/a/@href')[0]
        html2 = get_html(link,'gbk')
        text = html2.xpath('//p[@class="msg ltype"]/text()')
        exp = text[1].strip() if text else None
        xueli = text[2].strip() if text else None
        head = [title,name,city,wage,date,exp,xueli]
        list.append(head)
    return list
##把列表信息写入并保存为CSV文件
def write_row(filename,writetype,list):
    with open(filename,writetype,newline='') as filename:
        writer = csv.writer(filename)
        writer.writerows(list)  
##写入字段标题名
def write_header(filename,writetype):
    with open(filename,writetype,newline='') as filename:
        writer
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值