尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
作者 |Don Lex
責編|郭芮
本文爬取了某直聘網站上Python和Java的招聘信息,比較了兩個方向的發展前(錢)途 ,為本科生的就業方向給一個小小的建議。
爬取
在招聘網站上直接以」本科生」和」Java」或」Python」作為篩選條件,以廣州為例:
爬取招聘的大體信息,具體代碼如下:
1frombs4importBeautifulSoup 2importrequests 3importpymongo 4 5client=pymongo.MongoClient('localhost',27017) 6zhipin=client['zhipin'] 7zhipin_java=zhipin['zhipin_java'] 8zhipin_python=zhipin['zhipin_python'] 91011headers={12'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/60.0.3112.78Safari/537.36',13'accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',14}1516total_page=11171819defget_info(param,data_table):20'''21根據招聘方向(java或python..)爬取信息存進數據庫22:paramparam:招聘方向23:paramdata_table:數據庫表明24:return:25'''26foriinrange(1,total_page):27url='https://www.zhipin.com/c101280100/d_203-h_101280100/?query={0}&page={1}'.format(28param,i)29web_data=requests.get(url,headers=headers)30soup=BeautifulSoup(web_data.content,'lxml')31foriteminsoup.select('#main>div>div.job-list>ul>li'):32#招聘要求33job_title=item.select('.job-title')[0].text#崗位34salary=item.select('.red')[0].text#薪資35person_info=item.select('.info-primaryp')[0].text#應聘要求36#獲取公司信息37company=item.select('.info-companyh3a')[0].text#公司38company_info=item.select('.info-companyp')[0].text#公司信息3940data={41'job_title':job_title,42'salary':salary,43'person_info':person_info,44'company':company,45'company_info':company_info,46}47#插入數據庫48data_table.insert(data)49print(data)50print('*'*100)51print('\n'*5)525354if__name__=='__main__':55param_list=['java','python']56table_list=[zhipin_java,zhipin_python]57forparam,tableinzip(param_list,table_list):58get_info(param,table)
爬取的信息全部存在MongoDB中,便於後面的分析處理。
數據清洗
在數據處理這里定義了幾個方法,用來處理相應的內容。
-
初始變量
1importpymongo2client=pymongo.MongoClient('localhost',27017)3zhipin=client['zhipin']4zhipin_java=zhipin['zhipin_java']5zhipin_python=zhipin['zhipin_python']67fromcollectionsimportCounter8frompyechartsimportBar,Line,Pie
-
獲取地區分布情況
1importre 2defget_zone(): 3'''獲取地區''' 4zone_list=[] 5real_list=[] 6foriteminzhipin_java.find(): 7text=item['person_info'][3:6] 8zone_list.append(text) 9foriinzone_list:10j=re.sub(r'\d-','',i)11real_list.append(j)12while''inreal_list:13real_list.remove('')14returnreal_list15zone=dict(Counter(get_zone()))
-
整理招聘數據
1defdel_key_1():2'''刪除招聘次數為1的崗位'''3li=[]4forkeyinjob_dict.keys():5ifjob_dict[key]==1:6li.append(key)7foriinli:8deljob_dict[i]9print(job_dict)
-
整理薪水數據
1defget_salary(): 2'''獲取招聘的薪水''' 3min_list=[]#起步薪水 4max_list=[]#最高薪水 5job_title=[]#崗位 6foriteminzhipin_java.find(): 7job_title.append(item['job_title']) 8salary=item['salary'] 9min_list.append(int(salary.split('-')[0][:-1]))10max_list.append(int(salary.split('-')[1][:-1]))11returnmin_list,max_list,job_title
數據可視化
通過整理地區分布數據,利用pyecharts作圖。分別以下面4個方面進行比較:地區分布、崗位情況、公司情況和薪水對比。
1、不同區的招聘情況:
不難看出,越靠近城市中心的地區,招聘的崗位就越多,成功應聘的機會較高;番禺和天河區相差較大,其中天河區招的Python比Java將近多了8倍;番禺區Java比Python更加熱門,受公司青睞;其他區相差不大。
2、崗位情況
Python崗位情況:
Python崗位占比:
占比前五位分別是:Python工程師、數據分析師、運維工程師、大數據開發工程師和遊戲AI算法工程師。
Java崗位情況:
高級工程師招聘的人數較少,大部分都是在招聘初中級工程師,難道這就是傳說中的「一個諸葛亮勝過三個臭皮匠」?
3、公司情況
Python招聘公司情況:
Java招聘公司情況:
4、Qian途對比
最高薪水對比:
看來Python的地位不是吹的,最高薪水也大多數都比Java的高。Java最高薪水平平均為19.24K,最低3K,最高60K;Python最高薪水平均為21.16K,最低也是3K,最高50K,比Java稍低一點。
最低薪水對比:
Python起步薪水大多數都比Java的高。Java平均起步薪水11.42K,Python平均起步薪水12.08K。
最後用兩個崗位的詞雲來看一下:
看了這麼多,該怎麼選,你懂了吧? 雖然有點以偏概全,但是我相信只要能夠在一個語言上做到極致,相信你的Qian途同樣會是一片光明的。另外希望秋招的同學都能夠找到一份好工作。
作者:Don Lex,在校大學生,正在發育並且渴望成為一個有技術、有情懷的coder。個人公眾號 Python綠洲。
聲明:本文為作者投稿,版權歸對方所有。
「征稿啦」
CSDN公眾號秉持著「與千萬技術人共成長」理念,不僅以「極客頭條」、「暢言」欄目在第一時間以技術人的獨特視角描述技術人關心的行業焦點事件,更有「技術頭條」專欄,深度解讀行業內的熱門技術與場景應用,讓所有的開發者緊跟技術潮流,保持警醒的技術嗅覺,對行業趨勢、技術有更為全面的認知。
如果你有優質的文章,或是行業熱點事件、技術趨勢的真知灼見,或是深度的應用實踐、場景方案等的新見解,歡迎聯繫CSDN投稿,聯繫方式:微信(guorui_1118,請備註投稿+姓名+公司職位),郵箱([email protected])。
————— 推薦閱讀 —————