張晨祥,寧 璐,馮明歌
(1.北京農(nóng)學(xué)院計(jì)算機(jī)與信息工程學(xué)院,北京 102206;2.北京農(nóng)學(xué)院圖書館)
2022 年中央一號(hào)文件發(fā)布,已經(jīng)連續(xù)19 年聚焦“三農(nóng)”,國(guó)家為我國(guó)農(nóng)業(yè)發(fā)展提供了許多優(yōu)惠政策。近年來(lái),越來(lái)越多的涉農(nóng)人才準(zhǔn)備投身于農(nóng)業(yè)領(lǐng)域,許多涉農(nóng)求職者在瀏覽招聘網(wǎng)站時(shí),看到紛繁的招聘信息,無(wú)法高效地找到自己心儀地職位。為了解決這些求職遇到的問(wèn)題。研究基于Python 爬蟲(chóng)獲取涉農(nóng)職位招聘數(shù)據(jù),旨在幫助涉農(nóng)畢業(yè)生快速獲取涉農(nóng)崗位信息,并且對(duì)職位數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,以可視化的方式展示給涉農(nóng)職位求職者,助力求職者找到心儀的崗位[1]。
用戶在招聘網(wǎng)站瀏覽職位信息時(shí)需要不斷點(diǎn)擊頁(yè)面獲取信息,而各大招聘網(wǎng)站有海量的招聘信息,相對(duì)而言用戶逐個(gè)瀏覽的效率是比較低的。用戶可以采用網(wǎng)絡(luò)爬蟲(chóng)的方法批量獲取信息,即模擬瀏覽器發(fā)送網(wǎng)絡(luò)請(qǐng)求并接收響應(yīng),按照一定的規(guī)則抓取互聯(lián)網(wǎng)信息。這樣能節(jié)省時(shí)間,提高效率。爬蟲(chóng)程序采用Python 語(yǔ)言,集成開(kāi)發(fā)環(huán)境使用Pycharm,程序需要導(dǎo)入相關(guān)庫(kù)來(lái)支持爬蟲(chóng)的運(yùn)行,包括:通過(guò)正則表達(dá)式進(jìn)行文字匹配的re庫(kù),還有制定URL 獲取網(wǎng)頁(yè)數(shù)據(jù)的urllib庫(kù),以及對(duì)Excel進(jìn)行操作的xlwt庫(kù)[2]。
在爬蟲(chóng)程序中要模擬瀏覽器的行為進(jìn)行獲取數(shù)據(jù),首先為請(qǐng)求構(gòu)造headers,招聘網(wǎng)站識(shí)別為用戶發(fā)起訪問(wèn),順利進(jìn)行下一步,爬蟲(chóng)程序還需要請(qǐng)求的地址URL,本文中為了便于獲取用戶想要的數(shù)據(jù),將搜索目的的關(guān)鍵詞item 封裝在URL 地址里,將item 字符串轉(zhuǎn)成十六進(jìn)制編碼,便于機(jī)器識(shí)別,在爬取多個(gè)網(wǎng)頁(yè)信息時(shí),需要將地址進(jìn)行拼接,然后發(fā)起請(qǐng)求。網(wǎng)絡(luò)爬蟲(chóng)提高獲取數(shù)據(jù)的效率。
當(dāng)服務(wù)器正常響應(yīng),返回結(jié)果將得到一個(gè)Response,這便是所要獲取的信息,利用請(qǐng)求包中的方法,請(qǐng)求該地址即可得到請(qǐng)求結(jié)果,之后讀取源代碼并轉(zhuǎn)為Unicode 格式。這個(gè)過(guò)程就是服務(wù)器接收客戶端的請(qǐng)求,獲取響應(yīng)的內(nèi)容[3]。
抓取到的信息是包含許多數(shù)據(jù),既有公司信息,又有工資薪酬,學(xué)歷要求等等,需要使用正則表達(dá)式進(jìn)行匹配,挑選出不同類別的屬性,放在同一個(gè)就業(yè)職位的信息里面。程序?qū)雔xml模塊,調(diào)用etree對(duì)象中的xpath方法并結(jié)合著xpath表達(dá)式實(shí)現(xiàn)標(biāo)簽的定位和內(nèi)容的捕獲。這一步相當(dāng)于瀏覽器將服務(wù)器端的文件進(jìn)行解析并且展現(xiàn)出來(lái)。
保存涉農(nóng)職位數(shù)據(jù)的方式即將獲取的網(wǎng)絡(luò)數(shù)據(jù)存為文本,相當(dāng)于用戶在瀏覽網(wǎng)頁(yè)時(shí)下載了網(wǎng)頁(yè)上的文本信息。為了方便清洗涉農(nóng)職位數(shù)據(jù),這里將職位信息保存為Excel 文件,如圖1 所示,也便于后期通過(guò)數(shù)據(jù)分析工具處理分析涉農(nóng)職位數(shù)據(jù)。
圖1 爬取涉農(nóng)職位信息截圖
在爬蟲(chóng)程序?qū)隤andas庫(kù)、xlwt庫(kù)和re庫(kù)后,首先讀取Excel 表內(nèi)容,然后新建表格空間,讀取Excel表格數(shù)據(jù)代碼(如圖2),清洗表格的異常數(shù)據(jù),如關(guān)鍵信息缺失,則將信息內(nèi)多余的符號(hào)替換為空,去掉與農(nóng)林牧漁不相關(guān)的職位。然后將數(shù)據(jù)保存至新建立的表格空間。清洗數(shù)據(jù)核心代碼如圖3所示。
圖2 讀取Excel表數(shù)據(jù)代碼
圖3 清洗Excel表數(shù)據(jù)代碼
在分析涉農(nóng)職位數(shù)據(jù)過(guò)程中用到Pyecharts 庫(kù)以及Tableau 軟件,Echarts 是一個(gè)數(shù)據(jù)可視化的圖表控件工具,它憑借著良好的交互性,精巧的圖表設(shè)計(jì),得到許多開(kāi)發(fā)者的青睞。而Python 語(yǔ)言可以用于數(shù)據(jù)分析,適合用來(lái)處理數(shù)據(jù)[4]。Pyecharts 將Python與Echarts巧妙融合在一起,可以將圖表生成HTML 文件,便于用戶瀏覽。Tabeau 是一款數(shù)據(jù)可視化工具,具有易用、快速、靈活、精美等特點(diǎn),能夠快速地將數(shù)據(jù)圖表展示出來(lái),易于操作,功能強(qiáng)大[5]。
從圖4 可以得到:涉農(nóng)職位需求最多的是農(nóng)業(yè)技術(shù)員,其次是獸醫(yī),然后是農(nóng)藝師以及農(nóng)業(yè)項(xiàng)目經(jīng)理,隨后是農(nóng)機(jī)銷售崗位,后面銷售總監(jiān)、生態(tài)農(nóng)業(yè)項(xiàng)目專員、農(nóng)業(yè)規(guī)劃師以及農(nóng)險(xiǎn)專員需求數(shù)量基本持平。圖4可為涉農(nóng)畢業(yè)生求職提供參考,讓畢業(yè)生了解就業(yè)市場(chǎng)的需求,幫助其做好求職準(zhǔn)備,提高求職成功率。
圖4 涉農(nóng)職位數(shù)量排行榜
篩選出1300余條就業(yè)職位信息用于分析,對(duì)學(xué)歷要求環(huán)形圖如圖5所示。涉農(nóng)職位學(xué)歷要求最多的是本科和??疲浯问谴T士及中專學(xué)歷,對(duì)博士學(xué)歷的需求量最少,學(xué)歷的要求和就業(yè)職位地區(qū)以及工作內(nèi)容相關(guān)性較大。通過(guò)爬蟲(chóng)程序獲取的職位數(shù)據(jù)為近期招聘數(shù)據(jù),可以看出大專與本科學(xué)歷依舊在崗位學(xué)歷要求中占比很高。
圖5 學(xué)歷要求環(huán)形圖
從工作經(jīng)驗(yàn)可以看出,絕大部分單位對(duì)工作經(jīng)驗(yàn)要求一般為一年、兩年以及三四年經(jīng)驗(yàn)居多,緊接著是無(wú)需經(jīng)驗(yàn),工作經(jīng)驗(yàn)要求分布圖中占比低的有十年以上經(jīng)驗(yàn)、八九年經(jīng)驗(yàn),這部分需求量較少,這和部分職位操作內(nèi)容難度及熟練度相關(guān)性大。建議涉農(nóng)求職者要加強(qiáng)自己的實(shí)踐能力,有一定工作經(jīng)驗(yàn)?zāi)軌蛟谇舐殨r(shí)占據(jù)優(yōu)勢(shì)。
圖6 工作經(jīng)驗(yàn)要求分布圖
從圖7、圖8 可以看出,長(zhǎng)三角、珠三角、成渝地區(qū)和華中地區(qū)對(duì)于涉農(nóng)人才需求量較大,在涉農(nóng)單位數(shù)量排行榜上,廣州地區(qū)的涉農(nóng)單位招聘人數(shù)最多,其次是成都、上海[6]。總體看來(lái)東部沿海地區(qū)以及南方地區(qū)需求的涉農(nóng)人才數(shù)量較多,求職者可以根據(jù)自身情況進(jìn)行選擇。
圖7 涉農(nóng)職位需求分布圖
圖8 涉農(nóng)單位地區(qū)排行榜
通過(guò)圖9 學(xué)歷與薪資關(guān)系圖,可以得到學(xué)歷層次與薪資的分布情況,職位數(shù)量需求占比最大的是本科與大專學(xué)歷,在本科學(xué)歷層次的職位中,薪資區(qū)間是0.8~1 萬(wàn)/月的職位數(shù)量占比最高。在大專學(xué)歷層次的職位中,職位數(shù)量占比高的薪資區(qū)間有6~8 千/月、0.8~1 萬(wàn)/月。其次是碩士學(xué)歷層次的職位,薪資區(qū)間是1~1.5萬(wàn)/月的職位數(shù)量占比最高。而在中專學(xué)歷層次的職位中,薪資區(qū)間是6~8千/月的職位數(shù)量占比最高。在高中學(xué)歷層次的職位中,薪資區(qū)間是4.5~6 千/月的職位數(shù)量占比最高。綜上,對(duì)學(xué)歷層次的職位分析,學(xué)歷與薪資高低有一定的聯(lián)系。此外薪資水平還與其他因素有關(guān),比如工作經(jīng)驗(yàn)以及工作地區(qū)。
圖9 學(xué)歷與薪資關(guān)系圖
福利待遇詞云圖主要由爬取的職位待遇等數(shù)據(jù)繪制,首先將Excel 里薪資待遇轉(zhuǎn)為文本文件,導(dǎo)入Jieba、WordCloud 庫(kù),程序讀取薪資待遇文本內(nèi)容,使用Jieba 分詞提取薪資待遇詞頻,然后WordCloud 對(duì)處理過(guò)的分詞以及詞頻繪制出所需的薪資待遇詞云圖。其中,五險(xiǎn)一金、績(jī)效獎(jiǎng)金、年終獎(jiǎng)金是福利待遇熱門的話題。求職者可以在求職過(guò)程中,了解單位的福利待遇如何,找到自己心儀的職位。
圖10 福利待遇詞云圖
本研究針對(duì)廣大涉農(nóng)畢業(yè)生難以找到心儀工作問(wèn)題,通過(guò)Python 程序獲取涉農(nóng)職位招聘信息并進(jìn)行可視化分析,有助于涉農(nóng)畢業(yè)生快速獲取大量與本專業(yè)相關(guān)的就業(yè)信息,避免花費(fèi)大量時(shí)間來(lái)瀏覽與職位無(wú)關(guān)的信息,提高求職者的求職效率。本研究將獲取的職位數(shù)據(jù)進(jìn)行可視化分析,針對(duì)畢業(yè)生關(guān)注的職位信息進(jìn)行分析,例如分析工作經(jīng)驗(yàn)、學(xué)歷要求,以及涉農(nóng)職位排行榜、涉農(nóng)單位地區(qū)排行榜、學(xué)歷薪資關(guān)系圖、福利待遇詞云等,為涉農(nóng)求職者提供就業(yè)參考。建議涉農(nóng)求職者要合理利用網(wǎng)絡(luò)信息技術(shù),高效獲取職位信息數(shù)據(jù),對(duì)職位數(shù)據(jù)進(jìn)行多維度比較、分析,選擇適合自己的職位。