◆徐梓赫 廖錦
(中國礦業(yè)大學(xué)(北京)地球科學(xué)與測繪學(xué)院 北京 100000)
GIS,GPS,RS 合稱3S,GIS 是一門涉及計算機,地理學(xué),地圖學(xué),遙感,測繪等學(xué)科的新興交叉學(xué)科,20年來,計算機技術(shù)的飛快發(fā)展使得GIS 領(lǐng)域技術(shù)也取得重大進步,如webgis,三維gis技術(shù)等,目前GIS 就業(yè)有以下幾個方向:(1)GIS 開發(fā);(2)GIS 數(shù)據(jù)分析;(3)遙感制圖;(4)工程測繪;(5)學(xué)科教學(xué)。
高校在培養(yǎng)教育GIS 人才上總體發(fā)展正常,但是不同的高校側(cè)重方向不同,就導(dǎo)致不同學(xué)校GIS 畢業(yè)生掌握的能力和技術(shù)有較大的差別,使得非常多得畢業(yè)生對職位需求,就業(yè)方向,薪資水平等一系列問題感到困惑和迷茫,通過走訪得知,學(xué)生目前獲取就業(yè)信息得渠道非常有限,總結(jié)只有兩種:一種是師兄師姐,另一種就是網(wǎng)絡(luò),而不管是哪種方法,學(xué)生所獲得的信息都相對的較窄,不能從整體上把控GIS 專業(yè)的就業(yè)形勢。
不管是給剛?cè)雽W(xué)的GIS 專業(yè)學(xué)生提供專業(yè)未來發(fā)展前景,GIS技能,就業(yè)形勢等綜合信息,還是對畢業(yè)生整體把控就業(yè)方向,做到就業(yè)目標(biāo)明確,對大量就業(yè)數(shù)據(jù)進行統(tǒng)計分析都是十分重要的,本文利用Python 爬取拉鉤網(wǎng)關(guān)于GIS 的就業(yè)數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗預(yù)處理后,進行可視化,不僅能得到相應(yīng)基礎(chǔ)信息的圖表還可以對招聘技能要求繪制詞云,總結(jié)GIS 專業(yè)就業(yè)形式特點。
使用GIS,遙感,測繪等關(guān)鍵詞在拉勾網(wǎng)進行搜索,最大程度抓取就業(yè)信息數(shù)據(jù),對拉鉤網(wǎng)上每一個城市都進行數(shù)據(jù)抓取,先在Microsoft Edge 瀏覽器進入拉勾網(wǎng)首頁,搜索GIS 關(guān)鍵詞之后按F12或者單擊右鍵選擇檢查,檢查源代碼,觀察到瀏覽器的搜索欄url 并沒有變化,職位信息也不在源代碼中,這是因為拉勾網(wǎng)有反爬機制,通過對抓取的數(shù)據(jù)進行分析,找到職位信息儲存在了JSON 文件中,請求方式是post,相對于get 請求,post 請求的操作對所有用戶來說都是不可見的而且傳送數(shù)據(jù)量較大,這就為爬取增加了非常大的難度。添加headers 信息后用代碼模擬瀏覽器下載JSON 文件,用字典讀取數(shù)據(jù)得到.csv 文件,就可以拿到GIS 相關(guān)職位信息。
1.1.1 數(shù)據(jù)抓取
在瀏覽器控制臺XHR 中找到需要的數(shù)據(jù)包,這個包里面result下就儲存著要爬取的職位數(shù)據(jù),要用程序來模擬瀏覽器進行網(wǎng)頁的訪問,這就需要加上頭信息(headers)和請求方式post,兩者都是通過網(wǎng)頁分析得到的,這樣就會拿到要請求的url,接下來通過JSON 讀取總職位數(shù),根據(jù)每一頁顯示多少職位計算總頁數(shù),寫循環(huán)來遍歷頁數(shù)爬取,最后將得到的數(shù)據(jù)全部寫入.csv 文件中。
爬取職位信息代碼如下:
1.1.2 數(shù)據(jù)存儲
將得到的.csv 所有文件合并成一個進而得到全國的GIS 職業(yè)數(shù)據(jù),合并用cmd 命令提示符copy *.CSV all.csv,提取的基本信息如表1所示:
表1 數(shù)據(jù)存儲格式
臟數(shù)據(jù)處理分析
臟數(shù)據(jù)是指重復(fù)使用和不滿足條件的數(shù)據(jù),網(wǎng)站上直接爬取下來的數(shù)據(jù)不能夠直接使用原因就是有大量的臟數(shù)據(jù)存在,因此要先對臟數(shù)據(jù)進行清洗處理,由于是.csv 文件,所以pandas 可以直接提取。
①去重并保存
②去除不需要的數(shù)據(jù)
得到的數(shù)據(jù)不全都是需要的信息,比如實習(xí)生崗位就要刪除,要進行數(shù)據(jù)清洗,過濾掉實習(xí)崗位。
一共得到了12354 條數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗后得到有效數(shù)據(jù)8000條,用Python 將這些數(shù)據(jù)可視化處理,得到學(xué)歷,職位分布,薪資,職位名稱詞云和職位技能詞云的圖片并進行分析研究。
從圖1 可以看出,目前出現(xiàn)最多的職位名稱是GIS 開發(fā)工程師,主要職責(zé)有三個方面:(1)webgis 項目開發(fā);(2)空間數(shù)據(jù)庫存儲;(3)GIS 產(chǎn)品測試。GIS 在我國正在快速發(fā)展,許多高校在培養(yǎng)學(xué)生時只有學(xué)術(shù)方面的講解,基本沒有實際項目的經(jīng)驗,這也就使得學(xué)生很難適應(yīng)GIS 開發(fā)工程師這個職位,而GIS 公司規(guī)模一般都不大,大多數(shù)都從事軟件開發(fā),國企和事業(yè)單位非常少,經(jīng)常會陷入學(xué)GI S 專業(yè)覺得不好就業(yè),用人單位又招不到人的尷尬局面。圖2 展示了職位需求技能的詞云圖,出現(xiàn)頻率最高的是MySQL 數(shù)據(jù)庫,WebGI S,前端開發(fā)和javaScript,C++,HTML5 等幾門計算機語言,這也印證從事GIS 開發(fā)工程師工作需要不弱的編程能力,JavaScript 是目前在瀏覽器端最常見和應(yīng)用最廣泛的語言,因此WebGIS 開發(fā)用它幾乎是必然的,而且大多都是前端開發(fā),像ArcGIS API for JavaScript、OpenLayers、Mapbox、leaflet 都是js 封裝的地圖API 庫。Java 和C#主要是用來做后臺處理,C++主要用于底層開發(fā),java 出現(xiàn)頻率更高說明web 前端開發(fā)要高于底層開發(fā),不管是HTML5,JavaScript,C++計算機語言還是數(shù)據(jù)庫,WebGIS 前端開發(fā),這些職位技能關(guān)鍵詞在招聘信息中所占的比例都很大,而且都與GIS 開發(fā)工程師這個職位相關(guān),因此GIS 開發(fā)行業(yè)熱度很高。
圖1 職位名稱
圖2 職位技能
從圖3 可以看出職位學(xué)歷要求大部分要求本科,其次是大專,碩士和不限學(xué)歷都非常少,這說明本科學(xué)歷足以勝任大部分的工作,是大多數(shù)招聘單位的門檻學(xué)歷,研究生因更注重科研所以從事GIS 開發(fā)比例較少,而本科更注重實際應(yīng)用,也有薪資相對較少的優(yōu)勢,這在一定程度上說明本科比碩士從事GIS 開發(fā)更有利。從事一般的GIS開發(fā)工作本科學(xué)歷已經(jīng)足夠。
圖3 學(xué)歷要求
將8000 條數(shù)據(jù)中的薪資區(qū)間繪制直方圖進行統(tǒng)計分析,如圖4,薪資主要集中在8k-15k,GIS 行業(yè)與計算機行業(yè)有著密不可分的關(guān)系,數(shù)據(jù)處理,存儲等等都要通過計算機來完成,學(xué)GIS 的學(xué)生必須要掌握計算機的基本知識,尤其要熟悉編程,但是按照實際情況GIS行業(yè)與計算機行業(yè)薪資差距較大,這可能源于以下兩個原因:
圖4 薪資水平
(1)GIS 二次開發(fā)熱度很高,但是更偏向于編程,一般不是特別需求GIS 的項目,原有的計算機開發(fā)人員在經(jīng)歷短時間的學(xué)習(xí)之后可以較為輕松地投入工作,而且較GIS 專業(yè)學(xué)生開發(fā)經(jīng)驗更豐富,代碼更精確,效率更高,因此專門招聘GIS 開發(fā)人員是沒有必要的,計算機開發(fā)人員對于公司而言可以得到更大的收益。
(2)GIS 開發(fā)人員往往只會使用單一的API,技能知識范圍太窄,在處理其他問題上能力不足,核心能力較計算機從業(yè)人員偏弱,但是隨著大數(shù)據(jù)逐漸興起,GIS 開發(fā)的需求會有所增長,這就為GIS開發(fā)人員提出了新的考驗??偟膩碚f,雖然GIS 開發(fā)薪資水平較計算機行業(yè)有差距,但是比傳統(tǒng)的測繪和地信要好。
將崗位城市分布繪制餅狀圖,如圖5,顯示需求主要集中在北上廣深,武漢和成都,都是老牌一線城市和新一線大城市,這意味著在這些大城市中GIS 學(xué)生會有更多的就業(yè)機會,GIS 的智慧城市建設(shè),數(shù)字城市建設(shè),城市大腦,深度神經(jīng)網(wǎng)絡(luò)等技術(shù)特點,在大城市中能夠更多地發(fā)揮出來。
圖5 崗位分布
(1)爬蟲是一個自動運行的程序,能夠?qū)⒕W(wǎng)頁上指定的目標(biāo)抓取,獲得有用的信息,Python中有許多網(wǎng)絡(luò)爬蟲框架且語法更簡單易讀,因此用Python實現(xiàn)爬蟲是很好的選擇。
(2)本文通過Python抓取招聘職位信息相比傳統(tǒng)方法更加的高效準(zhǔn)確,經(jīng)過可視化分析后,能夠清晰直觀的展示出GIS行業(yè)目前人才需求方向,了解GIS開發(fā)詳情,通過數(shù)據(jù)分析可以認(rèn)為:從總量上看,GIS開發(fā)崗位較多同時需要更強的編程能力;從薪資水平看,GIS開發(fā)人員擁有比傳統(tǒng)測繪地信專業(yè)更高的工資,但低于計算機行業(yè);從地區(qū)分布看,大城市對GIS人員的需求更為旺盛。
(3)GIS學(xué)生應(yīng)努力提升自己編程能力,擴展知識面,增長參加項目的經(jīng)驗,不只局限于理論的學(xué)習(xí),在大數(shù)據(jù)日漸興起的今天更應(yīng)該緊跟潮流,加緊與計算機的聯(lián)系,滿足社會的需要。
(4)本文不足之處有兩點:沒有對連續(xù)年份職位變化進行分析,沒有獲得相應(yīng)數(shù)據(jù),無法進行崗位預(yù)測;數(shù)據(jù)采集局限于拉鉤網(wǎng),相對較為單一。