首页 国际新闻 正文

爬取剖析哪些计算机语言赚钱快:Python、Java薪酬最大?-betvictor_伟德国际网址1946_伟德国际官网网址

爬虫剖析什么编程言语最挣钱:Python、Java薪资最高,C#垫底

尚书院

万年的编程言语之争,这次要用薪资凹凸来决议输赢了!

本文首要用Python爬取拉勾网不同编程言语职位张宏良信息,包含Python岗、Java岗、C++岗、PHP岗、C#岗位(5岗),再用R言语对影响薪资的要素进行剖析。因为拉勾网的职位信息只显示30页,一页15个职位信息,假如独自爬取一个城市的岗位信息,只要几页是匹配的信息,信息量太小,剖析没有说服力。因而,本文爬取拉勾网全国职位信息。首要包含三部分内容:

  • 爬取拉勾网5岗职位信息,以Python岗为例;
  • 以Python岗位信息为例,剖析影响薪资的要素;
  • 5岗之间薪水要素影响比较剖析。

1

爬取拉勾网5岗职位信息——以Python岗爬取剖析哪些计算机言语挣钱快:Python、Java薪酬最大?-betvictor_伟德世界网址1946_伟德世界官网网址为例

咱们抓取的信息包含Python岗位称号、公司称号、薪资、作业经历、学历、公司规划、公司福利。

##以python岗位为例,运用selenium+Chrome()爬取岗位信息

# coding=UTF-8

from lxml import etree

from selenium import w爬取剖析哪些计算机言语挣钱快:Python、Java薪酬最大?-betvictor_伟德世界网址1946_伟德世界官网网址ebdriver

import time

import csv

browser = webdriver.Chrome()

browser.get('https://www.皮影客电脑版lagou.com/jobs/list_PYTHON?px=default&city=%E5%85%A8%E5%9B%BD#filterBox')

browser.implicitly_wait(10爬取剖析哪些计算机言语挣钱快:Python、Java薪酬最大?-betvictor_伟德世界网址1946_伟德世界官网网址)

def get_dates(selector):

items = selector.xpath('//*[@id="s_position_list"]/ul/li')

for item in items:

yield {

'Name': item.xpath('div[1]/div[1]/div[1]/a/h3/text()')[0],

'Company': item.xpath('div[1]/div[2]/div[1]/a/text()')[0],

'Salary': item.xpa仲景艾宝th('div[1]/div[1]/div[2]/div/span/text()')[0]大凉汉骑,

'Education': item.xpath('div[1]/div[1]/div[2]/div//text()')[3].strip(),

'Size': item.xpath('div[1]/div[2]/div[2]/text()')[0].strip(),

'Welfare': item.xpath('div[2]/div[2]/text()')[0]

}

def m交通ain():

i = 0

for i in range(30):

selector = etree.HTML(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(s樱木花道elector):

writer.writerow(item)

time.sleep(5)

browser.close()

if __name__=='__main__':

main()

抓取成果如下:

将抓取成果循环写入csv文件:

此外还抓取了Java岗、C++岗、PHP岗、C#岗位4岗的信息,代码和抓取Pytho爬取剖析哪些计算机言语挣钱快:Python、Java薪酬最大?-betvictor_伟德世界网址1946_伟德世界官网网址n岗位信息相似。

1

以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

变量Sa爬取剖析哪些计算机言语挣钱快:Python、Java薪酬最大?-betvictor_伟德世界网址1946_伟德世界官网网址lary一般都是规划值,用“-”衔接,可是不上古神兽扫除有XXK以上,例如10k以上这种表明方法,或许其他方法,这儿需求处理一下。

##假如薪资是一个规划值,都是"-爬取剖析哪些计算机言语挣钱快:Python、Java薪酬最大?-betvictor_伟德世界网址1946_伟德世界官网网址"衔接,留意,薪资是一个规划值,匹配结尾完毕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年 经历不lzh134289限 经历应届毕业生

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爬取剖析哪些计算机言语挣钱快:Python、Java薪酬最大?-betvictor_伟德世界网址1946_伟德世界官网网址(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)

ggp韦希成lot(newdata,aes(x=Experience,y=salary))+geom_boxplot(col="red")

契合群众的认知,从事Python的应届毕业生开始薪酬均匀值在5K左右,且薪资水平跨度最小。经历5-10年的薪酬水平跨度最大,首要或许是因为,有一部分转为技能管理岗位,薪酬较低的或许还在持续码代码,是不是对广阔同胞们的正告啊.......

2.薪酬与学历的联系(专科,本科,研究生,不限)

ggplot(newdat冲a,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")现在公司的福利贴有“弹性作业,气氛好,团队,大牛,技能,五险一金”等标签来招引求职者眼球。

3

5岗之间薪水要素影响比较剖析

1.Python岗、Java岗、C++岗、PHP岗、C#岗位的均匀薪水

抓取拉勾网职位信息,能够看出Python和Java的均匀薪资较高,C#的均匀薪酬最低。

由此也验证Python近几年炽热的态势,因为AI的炽热,Python的需求越来越大,传统的Java也比较强势,薪资待遇较高。

2.相同作业经历不同职位信息薪水比较

关于不同作业经历,不同编程言语均匀薪水仍是有较大的差异。

3.相同学历信息不同职位信息薪水比较

经过硕士、本科、大专、不限四种比较,硕士的整体薪资高于本科。

4.同一职位不同学历信息薪水比较

总的看来,在每个工作,硕士学历的均匀薪水高于本科,本科的均匀薪水高于大专