爬虫分析学习什么编程最赚钱:Python、Java薪资最高,C#垫底。


本文主要用python爬取拉勾网不同编程语言职位信息,包括python岗、java岗、c++岗、php岗、c#岗位(5岗),再用r语言对影响薪资的因素进行分析。由于拉勾网的职位信息只显示30页,一页15个职位信息,如果单独爬取一个城市的岗位信息,只有几页是匹配的信息,信息量太小,分析没有说服力。因此,本文爬取拉勾网全国职位信息。主要包括三部分内容:
爬取拉勾网5岗职位信息,以python岗为例;以python岗位信息为例,分析影响薪资的因素;5岗之间薪水因素影响比较分析。
爬取拉勾网5岗职位信息——以python岗为例
我们抓取的信息包括python岗位名称、公司名称、薪资、工作经验、学历、公司规模、公司福利。
##以python岗位为例,运用selenium+chrome()爬取岗位信息
# coding=utf-8
from lxml import etree
from selenium import webdriver
import time
import csv
browser = webdriver.chrome()
browser.get(l(browser.page_source)
browser.find_element_by_xpath(//*[@id=order]/li/div[4]/div[2]).click()
time.sleep(5)
print(第{}页抓取完毕.format(i+1))
for item in get_dates(selector):
print(item)
with open(py.csv, a, newline=) as csvfile: ##py.csv是文件的保存路径,这里默认保存在工作目录
fieldnames = [name, company, salary, education, size, welfare]
writer = csv.dictwriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for item in get_dates(selector):
writer.writerow(item)
time.sleep(5)
browser.close()
if __name__==__main__:
main()
抓取结果如下:
将抓取结果循环写入csv文件:
此外还抓取了java岗、c++岗、php岗、c#岗位4岗的信息,代码和抓取python岗位信息类似。
以python岗位信息为例,分析影响薪资的因素
这里包括数据清洗部分和数据分析部分两部分内容。
数据清洗部分data<-read.csv(e://data for r/rdata/py.csv)
data[sample(1:nrow(data),size=10),]
在抓取过程中,由于将python字典循环写入csv文件,因此列名也被循环写在csv文件中。
考虑本文主要分析影响薪资的因素,这里去除name和company两列。
##去除name和company两列
data<-data[,-c(1,2)]
##将python字典循环写入csv文件时,标题也会被写入,去除多余的标题
##查找哪些行是标题重复的行
which(data$salary %in% salary)
[1] 16 32 48 64 80 96 102 118 134 150 166 182 198 214 230 246 262 278 294 310 326 342 358 374 390 406 422 438 454 470 486 502 518
[34] 534 550 566
##去除多余的标题所在的行
data<-data[-(which(data$salary %in% salary)),]
dim(data)
[1] 545 4
1.变量salary
变量salary一般都是范围值,用“-”连接,但是不排除有xxk以上,例如10k以上这种表示形式,或者其他形式,这里需要处理一下。
##如果薪资是一个范围值,都是-连接,注意,薪资是一个范围值,匹配末尾结束k值需要注意,有大写k和小写k两种形式。
newdata<-data[grep(\\-,data$salary),]
dim(newdata)
[1] 544 4
##对比前面dim(data),说明薪水少了一行,salary具有其他的表示形式。
##这里将范围薪水的值分成底薪和高薪两部分,后面取平均值来表示薪水
library(tidyr)
library(stringr)
newdata<-separate(data=newdata,col=salary,into=c(lowsalary,highsalary),sep=-)
##分别去除后面的k值,注意k有大写和小写两种形式
newdata$lowsalary<-str_replace(newdata$lowsalary,k|k,)## |表示或的关系
newdata$highsalary<-str_replace(newdata$highsalary,k|k,)
newdata$lowsalary<-as.numeric(newdata$lowsalary)##转换数据类型
newdata$highsalary<-as.numeric(newdata$highsalary)
newdata$salary<-(newdata$lowsalary+newdata$highsalary)/2
newdadat<-newdata[,-c(1,2)]##去除原有的lowsalary和highsalary
2.变量education
###education部分
##首先将education中工作经验和学历分开
newdata<-separate(data = newdata,col=education,into=c(experience,graduate),sep = /)
table(newdata$experience)
经验1-3年 经验1年以下 经验3-5年 经验5-10年 经验不限 经验应届毕业生
187 6 261 46 37 7
table(newdata$graduate)
本科 不限 大专 硕士
447 27 63 7
3.变量size
##此处以公司人数作为描述公司规模的标准
newdata<-separate(data=newdata,col=size,into=c(type,rong,number),sep=/)
table(newdata$number)
15-50人 150-500人 2000人以上 50-150人 500-2000人 少于15人
76 139 117 119 82 11
table(newdata$rong)
a轮 b轮 c轮 d轮及以上 不需要融资 上市公司 天使轮 未融资
86 81 54 30 132 80 33 48
##将type去除
newdata<-newdata[,-3]
4.变量welfare
welfare<-newdata[,welfare]
##将welfare去除
newdata<-newdata[,-5]
head(newdata)
到此,数据清洗部分内容全部结束。
数据分析部分1.工资与工作年限的关系
library(ggplot2)
ggplot(newdata,aes(x=experience,y=salary))+geom_boxplot(col=red)
符合大众的认知,从事python的应届毕业生起始工资平均值在5k左右,且薪资水平跨度最小。经验5-10年的工资水平跨度最大,主要可能是因为,有一部分转为技术管理岗位,工资较低的可能还在继续码代码,是不是对广大同胞们的警告啊.......
2.工资与学历的关系(专科,本科,研究生,不限)
ggplot(newdata,aes(x=graduate,y=salary))+geom_boxplot(col=red)
这里是否能说明学历在一定程度上的重要性?学历本科的工资跨度比较大,因为工作经验的不同导致了薪资的差异。
3.工资与公司融资的关系
ggplot(newdata,aes(x=rong,y=salary))+geom_boxplot(col=red)
对于这部分知识是盲点,但是可以看出融资公司(上市也是一种融资方式)比没有融资的公司平均工资要高出不少,这部分是不是可以是以后找工作的一个风向标......
4.工资与公司大小的关系
公司规模越大,平均的工资也越高。
5.工资与工作时间和学历的关系
library(ggthemes)
library(scales)
ggplot(newdata,aes(x=experience,y=salary,fill=factor(graduate)))+
geom_boxplot()+
geom_hline(aes(yintercept=20),color=red,linetype=dashed,lwd=1)+
scale_y_continuous(labels=dollar_format())+theme_few()
这张图告诉我们,在大部分情况下,没(ren)钱(chou)就要多读书。不管是经验经验1年以下、经验3-5年、经验5-10年、经验不限的情况下,拥有硕士学历的平均收入都普遍高于本科,本科都高于大专(这里完全没有歧视低学历之意)。
6.公司福利的云图
##公司福利的云图
library(jiebar)
welfare<-as.character(welfare)
wk = worker()
seg_words<-wk[welfare]
library(plyr)
library(wordcloud)
tableword<-count(seg_words)
windowsfonts(myfont=windowsfont(华文彩云)) ##使用华文彩云字体
wordcloud(tableword[,1],tableword[,2],random.order=f,col= rainbow(100),family=myfont)现在公司的福利贴有“弹性工作,氛围好,团队,大牛,技术,五险一金”等标签来吸引求职者眼球。
5岗之间薪水因素影响比较分析
1.python岗、java岗、c++岗、php岗、c#岗位的平均薪水
抓取拉勾网职位信息,可以看出python和java的平均薪资较高,c#的平均工资最低。
由此也验证python近几年火热的态势,由于ai的火热,python的需求越来越大,传统的java也比较强势,薪资待遇较高。
2.相同工作经验不同职位信息薪水比较
对于不同工作经验,不同编程语言平均薪水还是有较大的差异。
3.相同学历信息不同职位信息薪水比较
通过硕士、本科、大专、不限四种比较,硕士的总体薪资高于本科。
4.同一职位不同学历信息薪水比较
总的看来,在每个职业,硕士学历的平均薪水高于本科,本科的平均薪水高于大专。
最后,柠檬为大家准备了一些自学教程资料,希望对大家有所帮助。
获取方式;转发+关注并私信小编:资料。即可获取!

维康液晶拼接屏显示方案助力提升新疆大石门水库管理体系
厂家直销电磁屏蔽机柜 15U网络屏蔽机柜 B级保密机柜
种菠萝要了解菠萝的生长习性,掌握种植技术,菠萝就能高产
批量台湾瑞昶HB型高压鼓风机
天津初二语文辅导知名教育机构
爬虫分析学习什么编程最赚钱:Python、Java薪资最高,C#垫底。
嘉盛供应铍铜板,铍铜带,铍铜箔,铍铜棒
东莞市湘楠 竹板材20MM 高性能碳化侧压防蛀防潮竹板材
厂家新闻—牡丹江土工防渗膜—欢迎您的莅临指导
力康血氧仪Prince-100I 四向重力感应显示
转让5000万区块链公司执照
松江做网站,松江企业形象设计公司,企业画册设计
中国日报官方风水大师丨风水丨起名丨算命看相丨择日
开寿司小吃店需要什么手续 前期大概要准备多少钱
西门子DPM安装套件US2:2020175-001色谱仪配件
花盆批发智能蓄水花盆环保无异味塑料花盆
用高枝压条不断培育红枫盆景,新手看了后也能学会
抖音有热搜,挑战微博的「广告板」
山东广告车出租品牌
昌平私立中小学,制度完善的私立高中-咨询报名入口