羅卓君 徐宇星
關鍵詞:Python;爬蟲;高職計算機網絡技術專業;市場調研
1項目需求
專業市場調研是保證專業教育教學與對應產業深度融合、符合相關行業需求的核心工作基礎[1]。通過對高職計算機網絡技術崗位群[2]的分析,主要包括網絡售前技術支持、網絡售后技術支持、信息安全工程師、網絡管理工程師、網絡工程師、網站設計師、網絡系統集成工程師、數據庫管理工程師、網絡架構師、系統工程師十個具體崗位。計算機網絡技術專業在撰寫調研專業報告時通過文獻調研、現場走訪調研、問卷調研、網絡調研等方法獲得了企業所需人才的相關數據,但數據量較小,參考價值有限。
5ljob“前程無憂”是中國具有廣泛影響力的人力資源服務供應商[3],國內絕大部分企事業單位都會在此網站發布招聘信息,數據較為權威。如果能獲取5ljob網站上湖南省和全國的關于計算機網絡技術專業崗位的相關數據,并有一個較為直觀的展示,會為專業調研報告提供可靠的數據來源,對專業的培養方向、人才培養方案的制定有重要的參考價值。
本文希望通過編寫一個Python爬蟲系統(以下稱“本系統”),爬取5ljob網站計算機網絡技術專業對應十個崗位的相關數據,并對數據進行清洗和可視化處理,以獲得人數需求量、薪資水平及學歷要求的直觀圖。
2關鍵技術分析
2.1爬蟲技術
Python中主要有urllib,urllib2,requests,aiohttp,Scrapy,pyspider等爬蟲庫。本系統采用requests庫,此模塊操作簡單、功能強大且高效o requests庫的核心功能是,向提供的網絡地址發出請求,返回網絡地址對應頁面中所有信息的response對象,并將響應的數據能永久存儲到文件中[4]。
2.2數據清洗技術
數據清洗是在爬蟲爬取數據之后,對數據進行分析處理,根據需求保留有意義的數據,是保障最終數據有效性和正確性的重要方法。Python中主要有numpy和pandas庫來實現數據清洗。本系統主要采用pandas庫。pandas庫能讀取csv,execel,mysql等類型的存儲文件,常用的數據結構主要有series和DataFrame,提供了功能強大的方法,能靈活地獲取和處理存儲文件中的數據[5]。
2.3數據可視化技術
數據可視化處理是在獲取有效數據之后,把數據以圖表的形式呈現出來,讓數據具備更好的可讀性。Python中matplotlib,pygal,pyecharts等庫都能進行可視化處理。本系統采用的pyecharts庫支持鏈式調用,具備高度靈活的配置項,囊括30多種常見圖表,并能繪制具有一定交互功能的動態圖像[6]。
3項目實現
本系統使用PyCharm作為開發工具,Python作為開發語言,主要采用requests庫做爬蟲、pandas庫做數據清洗、pyecharts庫做可視化處理,這三個庫都是第三方庫,需要采用pip install庫進行安裝再使用。
3.1爬取與初步清洗數據
通過登錄5ljob網站,搜索到地區和相關崗位的網址后,進行網站數據的爬取與初步清洗。其中有4部分關鍵代碼。
(1)構造url,headers,params,cookies四個參數的內容。url參數是程序要爬取的地址,已知計算機網絡技術專業的十個崗位,通過登錄5ljob網站,搜索崗位及地區,獲取十個湖南省和十個全國的崗位鏈接地址,構造湖南省和全國兩個url地址列表;Headers參數起到模擬瀏覽器的作用;params參數是在訪問url時攜帶的參數;cookies參數用于完成5ljob用戶驗證。
(2)使用get方法發送請求,返回response對象。具體代碼如下。
response=requests. get(url,headers=headers,params=params,cookies=cookies)
(3)使用response對象的text方法獲取響應對象中的數據值,同時考慮到url列表中的地址如果有頁碼,使用循環讀取每頁數據。關鍵代碼如下。
(4)初步清洗數據,并存儲數據到CSV文件。這一步首先使用了pandas模塊的read_j son方法把獲取的數據轉成json格式,并用DataFame方法初步清洗數據,獲取需要的數據信息,最后把湖南省的招聘數據存儲到“zhaopin_湖南.csv”文件內,全國的招聘數據存儲到“zhaopin_全國.CSV”文件內。以湖南省招聘數據為例,關鍵代碼如下。
3.2清洗數據
在已有的csv文件的基礎上,進一步清洗數據,方便進行可視化處理。其中有5部分關鍵代碼。
(1)匹配崗位。通過re模塊的compile方法來匹配崗位。以信息安全崗位為例的關鍵代碼如下。
3.3可視化處理
數據清洗完成后,為了讓數據的可讀性更強,本系統使用pyecharts庫對數據進行可視化處理。根據數據的特性,崗位與人數需求采用柱狀圖,崗位與學歷要求采用餅圖,崗位與薪資水平采用折線圖,最終以網頁的形式展示出來。其中有4部分關鍵代碼。
(3)參數配置。參數配置根據具體的圖形各有區別,但基本分為添加坐標、全局配置和系列配置三個部分。以崗位與人數需求的柱狀圖為例,代碼如下。
通過可視化處理后,崗位與人數需求如圖1所示。崗位與學歷需求(由于崗位與學歷是以每個崗位一張圖,僅以信息安全崗位學歷需求為例)如圖2所示。全國崗位與薪資水平如圖3所示。
4結束語
本文通過Python的爬蟲模塊,爬取了5ljob網站內計算機網絡技術專業對應十個崗位在2021年12月的相關數據信息,并對數據進行清洗和可視化處理。通過數據結論圖表,能清晰地看到每個崗位在湖南省和全國分別需要的人數、薪資水平和學歷要求。本系統既為書寫專業調研報告打下了重要的數據基礎,還為選擇專業人才培養方向和制定人才培養方案提供了重要的參考價值。通過定期重新爬取、更新數據,可持續作為計算機網絡技術專業崗位數據信息的重要來源之一,稍作修改即可在其他專業進行推廣應用。