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