本基于大數(shù)據(jù)爬蟲(chóng)實(shí)現(xiàn)互聯(lián)網(wǎng)研發(fā)崗位數(shù)據(jù)分析平臺(tái),系統(tǒng)主要采用java,互聯(lián)網(wǎng)爬蟲(chóng)技術(shù),動(dòng)態(tài)圖表echarts,springboot,mysql,mybatisplus,崗位推薦算法,實(shí)現(xiàn)基于互聯(lián)網(wǎng)招聘崗位實(shí)現(xiàn)針對(duì)用戶的崗位推薦,
系統(tǒng)提供招聘崗位網(wǎng)站前臺(tái),系統(tǒng)崗位數(shù)據(jù)分析可視化平臺(tái)展示等功能。
系統(tǒng)招聘網(wǎng)站主要包含:用戶登錄注冊(cè),招聘崗位推薦,崗位推薦列表,用戶建立,我的投遞,用戶瀏覽,招聘崗位分類(lèi),個(gè)人中心,招聘崗位詳情等模塊
系統(tǒng)可視化分析展示平臺(tái)主要包含:崗位競(jìng)爭(zhēng)力分析,崗位薪資分析,崗位分析報(bào)告,崗位技能分析,崗位數(shù)量分析,崗位地圖分布等等。
原文地址
一、程序設(shè)計(jì)
本基于大數(shù)據(jù)爬蟲(chóng)實(shí)現(xiàn)互聯(lián)網(wǎng)研發(fā)崗位數(shù)據(jù)分析平臺(tái),主要內(nèi)容涉及:
主要功能模塊:用戶登錄注冊(cè),招聘崗位推薦,崗位推薦列表,用戶建立,我的投遞,用戶瀏覽,招聘崗位分類(lèi),個(gè)人中心,招聘崗位詳情等模塊。
主要包含技術(shù):java,JSOUP,httpClient,數(shù)據(jù)處理,數(shù)據(jù)分析,echarts,springboot,mysql,mybatis,javascript,數(shù)據(jù)分析存儲(chǔ)技術(shù),推薦計(jì)算算法等
二、效果實(shí)現(xiàn)
演示視頻
https://www.bilibili.com/video/BV19m4y177Ti/
系統(tǒng)首頁(yè)
崗位檢索
采集數(shù)據(jù)
數(shù)據(jù)可視化
程序報(bào)告
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-646449.html
三、代碼實(shí)現(xiàn)
系統(tǒng)招聘崗位管理主要采用前后端分離模式,針對(duì)招聘崗位數(shù)據(jù)查詢封裝成JSON格式,完成數(shù)據(jù)下發(fā)至系統(tǒng)界面端渲染,系統(tǒng)界面端針對(duì)JSON解析后采用javascript完成頁(yè)面展示。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-646449.html
def wish_data(wages_old):
"""
數(shù)據(jù)清洗規(guī)則:
分為元/天,千(以上/下)/月,萬(wàn)(以上/下)/月,萬(wàn)(以上/下)/年
若數(shù)據(jù)是一個(gè)區(qū)間的,則求其平均值,最后的值統(tǒng)一單位為元/月
"""
if '元/天' in wages_old:
if '-' in wages_old.split('元')[0]:
wages1 = wages_old.split('元')[0].split('-')[0]
wages2 = wages_old.split('元')[0].split('-')[1]
wages_new = (float(wages2) + float(wages1)) / 2 * 30
else:
wages_new = float(wages_old.split('元')[0]) * 30
return wages_new
elif '千/月' in wages_old or '千以下/月' in wages_old or '千以上/月' in wages_old:
if '-' in wages_old.split('千')[0]:
wages1 = wages_old.split('千')[0].split('-')[0]
wages2 = wages_old.split('千')[0].split('-')[1]
wages_new = (float(wages2) + float(wages1)) / 2 * 1000
else:
wages_new = float(wages_old.split('千')[0]) * 1000
return wages_new
elif '萬(wàn)/月' in wages_old or '萬(wàn)以下/月' in wages_old or '萬(wàn)以上/月' in wages_old:
if '-' in wages_old.split('萬(wàn)')[0]:
wages1 = wages_old.split('萬(wàn)')[0].split('-')[0]
wages2 = wages_old.split('萬(wàn)')[0].split('-')[1]
wages_new = (float(wages2) + float(wages1)) / 2 * 10000
else:
wages_new = float(wages_old.split('萬(wàn)')[0]) * 10000
return wages_new
elif '萬(wàn)/年' in wages_old or '萬(wàn)以下/年' in wages_old or '萬(wàn)以上/年' in wages_old:
if '-' in wages_old.split('萬(wàn)')[0]:
wages1 = wages_old.split('萬(wàn)')[0].split('-')[0]
wages2 = wages_old.split('萬(wàn)')[0].split('-')[1]
wages_new = (float(wages2) + float(wages1)) / 2 * 10000 / 12
else:
wages_new = float(wages_old.split('萬(wàn)')[0]) * 10000 / 12
return wages_new
def wages_experience_chart(data):
# 根據(jù)經(jīng)驗(yàn)分類(lèi),求不同經(jīng)驗(yàn)對(duì)應(yīng)的平均薪資
wages_experience = data.groupby('經(jīng)驗(yàn)').mean()
# 獲取經(jīng)驗(yàn)和薪資的值,將其作為畫(huà)圖的 x 和 y 數(shù)據(jù)
w = wages_experience['工資'].index.values
e = wages_experience['工資'].values
# 按照經(jīng)驗(yàn)對(duì)數(shù)據(jù)重新進(jìn)行排序,薪資轉(zhuǎn)為 int 類(lèi)型(也可以直接在前面對(duì) DataFrame 按照薪資大小排序)
wages = [w[6], w[1], w[2], w[3], w[4], w[5], w[0]]
experience = [int(e[6]), int(e[1]), int(e[2]), int(e[3]), int(e[4]), int(e[5]), int(e[0])]
# 繪制柱狀圖
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.figure(figsize=(9, 6))
x = wages
y = experience
color = ['#E41A1C', '#377EB8', '#4DAF4A', '#984EA3', '#FF7F00', '#FFFF33', '#A65628']
plt.bar(x, y, color=color)
for a, b in zip(x, y):
plt.text(a, b, b, ha='center', va='bottom')
plt.title('Python 相關(guān)職位經(jīng)驗(yàn)與平均薪資關(guān)系', fontsize=13)
plt.xlabel('經(jīng)驗(yàn)', fontsize=13)
plt.ylabel('平均薪資(元 / 月)', fontsize=13)
plt.savefig('wages_experience_chart.png')
plt.show()
def wages_education_chart(data):
# 根據(jù)學(xué)歷分類(lèi),求不同學(xué)歷對(duì)應(yīng)的平均薪資
wages_education = data.groupby('學(xué)歷').mean()
# 獲取學(xué)歷和薪資的值,將其作為畫(huà)圖的 x 和 y 數(shù)據(jù)
wages = wages_education['工資'].index.values
education = [int(i) for i in wages_education['工資'].values]
# 繪制柱狀圖
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.figure(figsize=(9, 6))
x = wages
y = education
color = ['#E41A1C', '#377EB8', '#4DAF4A']
plt.bar(x, y, color=color)
for a, b in zip(x, y):
plt.text(a, b, b, ha='center', va='bottom')
plt.title('Python 相關(guān)職位學(xué)歷與平均薪資關(guān)系', fontsize=13)
plt.xlabel('學(xué)歷', fontsize=13)
plt.ylabel('平均薪資(元 / 月)', fontsize=13)
plt.savefig('wages_education_chart.png')
plt.show()
到了這里,關(guān)于BS1066-基于大數(shù)據(jù)爬蟲(chóng)實(shí)現(xiàn)互聯(lián)網(wǎng)研發(fā)崗位數(shù)據(jù)分析平臺(tái)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!