張晨祥,寧 璐,馮明歌
(1.北京農學院計算機與信息工程學院,北京 102206;2.北京農學院圖書館)
2022 年中央一號文件發布,已經連續19 年聚焦“三農”,國家為我國農業發展提供了許多優惠政策。近年來,越來越多的涉農人才準備投身于農業領域,許多涉農求職者在瀏覽招聘網站時,看到紛繁的招聘信息,無法高效地找到自己心儀地職位。為了解決這些求職遇到的問題。研究基于Python 爬蟲獲取涉農職位招聘數據,旨在幫助涉農畢業生快速獲取涉農崗位信息,并且對職位數據進行數據分析,以可視化的方式展示給涉農職位求職者,助力求職者找到心儀的崗位[1]。
用戶在招聘網站瀏覽職位信息時需要不斷點擊頁面獲取信息,而各大招聘網站有海量的招聘信息,相對而言用戶逐個瀏覽的效率是比較低的。用戶可以采用網絡爬蟲的方法批量獲取信息,即模擬瀏覽器發送網絡請求并接收響應,按照一定的規則抓取互聯網信息。這樣能節省時間,提高效率。爬蟲程序采用Python 語言,集成開發環境使用Pycharm,程序需要導入相關庫來支持爬蟲的運行,包括:通過正則表達式進行文字匹配的re庫,還有制定URL 獲取網頁數據的urllib庫,以及對Excel進行操作的xlwt庫[2]。
在爬蟲程序中要模擬瀏覽器的行為進行獲取數據,首先為請求構造headers,招聘網站識別為用戶發起訪問,順利進行下一步,爬蟲程序還需要請求的地址URL,本文中為了便于獲取用戶想要的數據,將搜索目的的關鍵詞item 封裝在URL 地址里,將item 字符串轉成十六進制編碼,便于機器識別,在爬取多個網頁信息時,需要將地址進行拼接,然后發起請求。網絡爬蟲提高獲取數據的效率。
當服務器正常響應,返回結果將得到一個Response,這便是所要獲取的信息,利用請求包中的方法,請求該地址即可得到請求結果,之后讀取源代碼并轉為Unicode 格式。這個過程就是服務器接收客戶端的請求,獲取響應的內容[3]。
抓取到的信息是包含許多數據,既有公司信息,又有工資薪酬,學歷要求等等,需要使用正則表達式進行匹配,挑選出不同類別的屬性,放在同一個就業職位的信息里面。程序導入lxml模塊,調用etree對象中的xpath方法并結合著xpath表達式實現標簽的定位和內容的捕獲。這一步相當于瀏覽器將服務器端的文件進行解析并且展現出來。
保存涉農職位數據的方式即將獲取的網絡數據存為文本,相當于用戶在瀏覽網頁時下載了網頁上的文本信息。為了方便清洗涉農職位數據,這里將職位信息保存為Excel 文件,如圖1 所示,也便于后期通過數據分析工具處理分析涉農職位數據。

圖1 爬取涉農職位信息截圖
在爬蟲程序導入Pandas庫、xlwt庫和re庫后,首先讀取Excel 表內容,然后新建表格空間,讀取Excel表格數據代碼(如圖2),清洗表格的異常數據,如關鍵信息缺失,則將信息內多余的符號替換為空,去掉與農林牧漁不相關的職位。然后將數據保存至新建立的表格空間。清洗數據核心代碼如圖3所示。

圖2 讀取Excel表數據代碼

圖3 清洗Excel表數據代碼
在分析涉農職位數據過程中用到Pyecharts 庫以及Tableau 軟件,Echarts 是一個數據可視化的圖表控件工具,它憑借著良好的交互性,精巧的圖表設計,得到許多開發者的青睞。而Python 語言可以用于數據分析,適合用來處理數據[4]。Pyecharts 將Python與Echarts巧妙融合在一起,可以將圖表生成HTML 文件,便于用戶瀏覽。Tabeau 是一款數據可視化工具,具有易用、快速、靈活、精美等特點,能夠快速地將數據圖表展示出來,易于操作,功能強大[5]。
從圖4 可以得到:涉農職位需求最多的是農業技術員,其次是獸醫,然后是農藝師以及農業項目經理,隨后是農機銷售崗位,后面銷售總監、生態農業項目專員、農業規劃師以及農險專員需求數量基本持平。圖4可為涉農畢業生求職提供參考,讓畢業生了解就業市場的需求,幫助其做好求職準備,提高求職成功率。

圖4 涉農職位數量排行榜
篩選出1300余條就業職位信息用于分析,對學歷要求環形圖如圖5所示。涉農職位學歷要求最多的是本科和專科,其次是碩士及中專學歷,對博士學歷的需求量最少,學歷的要求和就業職位地區以及工作內容相關性較大。通過爬蟲程序獲取的職位數據為近期招聘數據,可以看出大專與本科學歷依舊在崗位學歷要求中占比很高。

圖5 學歷要求環形圖
從工作經驗可以看出,絕大部分單位對工作經驗要求一般為一年、兩年以及三四年經驗居多,緊接著是無需經驗,工作經驗要求分布圖中占比低的有十年以上經驗、八九年經驗,這部分需求量較少,這和部分職位操作內容難度及熟練度相關性大。建議涉農求職者要加強自己的實踐能力,有一定工作經驗能夠在求職時占據優勢。

圖6 工作經驗要求分布圖
從圖7、圖8 可以看出,長三角、珠三角、成渝地區和華中地區對于涉農人才需求量較大,在涉農單位數量排行榜上,廣州地區的涉農單位招聘人數最多,其次是成都、上海[6]。總體看來東部沿海地區以及南方地區需求的涉農人才數量較多,求職者可以根據自身情況進行選擇。

圖7 涉農職位需求分布圖

圖8 涉農單位地區排行榜
通過圖9 學歷與薪資關系圖,可以得到學歷層次與薪資的分布情況,職位數量需求占比最大的是本科與大專學歷,在本科學歷層次的職位中,薪資區間是0.8~1 萬/月的職位數量占比最高。在大專學歷層次的職位中,職位數量占比高的薪資區間有6~8 千/月、0.8~1 萬/月。其次是碩士學歷層次的職位,薪資區間是1~1.5萬/月的職位數量占比最高。而在中專學歷層次的職位中,薪資區間是6~8千/月的職位數量占比最高。在高中學歷層次的職位中,薪資區間是4.5~6 千/月的職位數量占比最高。綜上,對學歷層次的職位分析,學歷與薪資高低有一定的聯系。此外薪資水平還與其他因素有關,比如工作經驗以及工作地區。

圖9 學歷與薪資關系圖
福利待遇詞云圖主要由爬取的職位待遇等數據繪制,首先將Excel 里薪資待遇轉為文本文件,導入Jieba、WordCloud 庫,程序讀取薪資待遇文本內容,使用Jieba 分詞提取薪資待遇詞頻,然后WordCloud 對處理過的分詞以及詞頻繪制出所需的薪資待遇詞云圖。其中,五險一金、績效獎金、年終獎金是福利待遇熱門的話題。求職者可以在求職過程中,了解單位的福利待遇如何,找到自己心儀的職位。

圖10 福利待遇詞云圖
本研究針對廣大涉農畢業生難以找到心儀工作問題,通過Python 程序獲取涉農職位招聘信息并進行可視化分析,有助于涉農畢業生快速獲取大量與本專業相關的就業信息,避免花費大量時間來瀏覽與職位無關的信息,提高求職者的求職效率。本研究將獲取的職位數據進行可視化分析,針對畢業生關注的職位信息進行分析,例如分析工作經驗、學歷要求,以及涉農職位排行榜、涉農單位地區排行榜、學歷薪資關系圖、福利待遇詞云等,為涉農求職者提供就業參考。建議涉農求職者要合理利用網絡信息技術,高效獲取職位信息數據,對職位數據進行多維度比較、分析,選擇適合自己的職位。