收藏和點(diǎn)贊,您的關(guān)注是我創(chuàng)作的動力
概要
??隨著科學(xué)技術(shù)的發(fā)展,人類進(jìn)入了互聯(lián)網(wǎng)時(shí)代,不僅數(shù)據(jù)量龐大,而且數(shù)據(jù)種類繁多,Python簡單易學(xué), 語法清晰,在數(shù)據(jù)操作方面有著一定優(yōu)勢,成為了數(shù)據(jù)采集和可視化領(lǐng)域的熱門語言。本論文主要是使用Python來作為開發(fā)語言,并對網(wǎng)上招聘信息進(jìn)行數(shù)據(jù)采集和可視化,了解和研究網(wǎng)上招聘的現(xiàn)狀。采集數(shù)據(jù)時(shí)使用Scrapy抓取網(wǎng)頁招聘信息,采集智聯(lián)招聘職位數(shù)據(jù),并將初始數(shù)據(jù)儲存到MySQL數(shù)據(jù)庫中,并得到可視化結(jié)果,從而在短時(shí)間內(nèi)了解數(shù)據(jù)背后的價(jià)值與規(guī)律。
關(guān)鍵詞:Python 數(shù)據(jù)采集 Scrapy框架 MySQL數(shù)據(jù)庫
一、研究背景與意義
??抓不住關(guān)鍵信息,錯(cuò)失了尋找工作的良機(jī)。另一方面,企業(yè)的招聘方式已經(jīng)漸漸跟不上時(shí)代的步伐。人才是一個(gè)企業(yè)甚至國家振興的動力,人才的招聘和引進(jìn)關(guān)系到一個(gè)企業(yè)是否能夠在激烈的社會競爭中脫穎而出,是否招募到足夠的人才決定了企業(yè)的興衰。所以,如何招募到所需要的人才資源成為了一個(gè)企業(yè)發(fā)展過程中最為重要的一環(huán)。
在當(dāng)今這個(gè)網(wǎng)絡(luò)異常發(fā)達(dá)的大數(shù)據(jù)時(shí)代,網(wǎng)上招聘已經(jīng)成了一種流行趨勢。但是網(wǎng)絡(luò)招聘也存在了許許多多的問題和不足,比如:
(1)招聘信息真實(shí)度難以分辨
當(dāng)今網(wǎng)絡(luò)招聘面臨最大的挑戰(zhàn)就是招聘信息的真實(shí)度問題。當(dāng)求職者在招聘網(wǎng)站輸入身份信息的時(shí)候,有可能導(dǎo)致招聘信息的泄漏和身份信息的曝光,這就是網(wǎng)絡(luò)招聘發(fā)展的過程中所遇到的最大難題。有某些個(gè)別的招聘網(wǎng)站由于自身沒有足夠用來展示的數(shù)據(jù)信息,就剽竊其他的招聘網(wǎng)頁的數(shù)據(jù)信息來擴(kuò)充門面。如果這樣的活,就會出現(xiàn)一個(gè)公司的招聘已經(jīng)完成了,但那些已經(jīng)失去作用的招聘信息仍然出現(xiàn)在公司沒有發(fā)出過信息的網(wǎng)站之上,就變成誤導(dǎo)求職者的虛假信息這種情況,耽誤了應(yīng)聘者的時(shí)間及精力。
(2)網(wǎng)絡(luò)招聘服務(wù)并不完善
如今的網(wǎng)絡(luò)招聘大多都是照葫蘆畫瓢,原樣照搬下來招聘信息就草草了事。網(wǎng)絡(luò)招聘不僅要對人力資源這一課題有著深刻的認(rèn)識,還必須需要具備過硬的技術(shù)底蘊(yùn),而且需要強(qiáng)大的語言組織和策劃的能力,這樣才能吸引更多的投遞簡歷。
(3)招聘信息的處理難度大
在互聯(lián)網(wǎng)技術(shù)不斷地進(jìn)步,各種各樣網(wǎng)絡(luò)招聘信息也不斷地出現(xiàn)并且讓人目不暇接。網(wǎng)絡(luò)技術(shù)的進(jìn)步雖然能加快信息的推廣與普及,但是也會招致應(yīng)聘者對應(yīng)聘崗位的過度競爭,使得招聘公司收到繁多的簡歷。這樣的話就會意味著招聘公司在網(wǎng)絡(luò)招聘方面的投入會不斷增加,從而增加招聘公司的負(fù)擔(dān)。
因此,一份能夠自動爬取網(wǎng)上招聘信息并進(jìn)行整理存儲的爬蟲就派上了用場。本篇論文采用Python語言編寫的一個(gè)采集數(shù)據(jù)和進(jìn)行可視化處理系統(tǒng)。本設(shè)計(jì)使用Scrapy框架來采集需要用到的網(wǎng)絡(luò)招聘信息,然后把爬取下來的數(shù)據(jù)存入MySQL數(shù)據(jù)庫之中,在對這些數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化處理。就能夠通過這些結(jié)果來認(rèn)識理解相關(guān)的招聘因素的關(guān)系,讓畢業(yè)生們更加直觀的,清晰地了解相關(guān)工作的薪資待遇及工作前景。更加方便的選取適合自己的工作職位。招聘網(wǎng)站數(shù)據(jù)可視化分析平臺從各種的招聘信息中提取出有價(jià)值的數(shù)據(jù),并以數(shù)字圖像的形式進(jìn)行直觀化展示。把用戶從雜亂無章的數(shù)據(jù)里面解放出來。通過該設(shè)計(jì)能夠更高效地理解和分析據(jù)聘數(shù)據(jù)信息,快速尋找對于自
身有用的信息。使得招聘信息能夠更加有效地傳述。有利于求職者明確自己的學(xué)習(xí)方向,掌握需要的工作技能。
二、數(shù)據(jù)采集
2.1 采集需求
?? 本篇論文采集的目的網(wǎng)站是智聯(lián)招聘,需要從其中獲取一些職位各種相關(guān)的信息,用來為完成后面的數(shù)據(jù)可視化部分做好準(zhǔn)備,需要獲取的信息大概包括以下幾個(gè)方面:各個(gè)職位特有的ID,職位所在的城市,職位的薪資水平,職位類型,職位要求學(xué)歷,職位的標(biāo)簽,職位要求的工作經(jīng)驗(yàn)等等。
2.2 網(wǎng)頁分析
?? 首先打開電腦瀏覽器,在搜索框中輸入智聯(lián)招聘,點(diǎn)擊并且進(jìn)入智聯(lián)網(wǎng)站主頁。然后在搜索欄中輸入通信工程師,并進(jìn)行搜索。搜索結(jié)果如圖3.1所示
圖 3.1搜索結(jié)果圖
本篇設(shè)計(jì)所需要的網(wǎng)絡(luò)招聘代碼數(shù)據(jù)并沒有在這里出現(xiàn),其實(shí)發(fā)現(xiàn)數(shù)據(jù)數(shù)據(jù)應(yīng)該是從別地方的請求傳遞而來的。在這里需要找到瀏覽器設(shè)置,點(diǎn)擊進(jìn)入開發(fā)者模式,點(diǎn)擊Network。下一步點(diǎn)擊XHR–>點(diǎn)擊的requests–>在response中可以看到需要的數(shù)據(jù)就在這里如圖3.2。
圖 3.2源代碼效果圖
從圖3.2發(fā)現(xiàn)這些服務(wù)器返回?cái)?shù)據(jù)格式是是json類型,這樣就很方便解析了。
2.3 數(shù)據(jù)爬取
??因?yàn)榕老x抓取的數(shù)據(jù)量工作較大,所以為了更加高效地進(jìn)行數(shù)據(jù)分析,采用Excel的方式工作效率開始明顯降低。
??因此,采用數(shù)據(jù)庫技術(shù)進(jìn)行存儲是必要的[2]。從這里開始,正式開始構(gòu)建程序的大體框架,首先需要用代碼來模擬虛擬用戶向智聯(lián)網(wǎng)站的服務(wù)器發(fā)送請求查詢數(shù)據(jù)。正因?yàn)槿绱?,這里需要構(gòu)造相關(guān)參數(shù)的程序請求頭請求智聯(lián)官網(wǎng)網(wǎng)頁,相關(guān)的代碼如3.3圖所示:
三、數(shù)據(jù)可視化以及研究結(jié)果
3.1 可視化的實(shí)現(xiàn)
??在獲取到所以需要的數(shù)據(jù)之后,剩下的最后一步就是可視化的實(shí)現(xiàn),由于從數(shù)據(jù)庫獲取到的數(shù)據(jù)類型是dict類型,我們先用a來等于字典全部的鍵,用b來等于字典全部的值。做可視化采用Python很方便,使用plt.bar,這樣一來就能得到一個(gè)直方圖,再通過show將圖展示出來,并使用savefig將圖存儲成圖片就完成了。
3.2 研究結(jié)果
??通過本篇論文設(shè)計(jì)程序的運(yùn)行,最終得到了結(jié)果圖6.1,圖6.2,圖6.3,圖6.4所示:
圖 6.1不同崗位的平均薪資
?? 從上圖可以清楚地看到不同職位之間的薪資水平以及差距,這就大大減少了求職者時(shí)間與精力的浪費(fèi),為求職者職位挑選提供了可靠地參考。
圖 6.2工作平均薪資的分布水平
通過圖6.2可見,大多數(shù)職位的薪資大都集中在1000-5000之間,隨著薪水增長,所對應(yīng)的人數(shù)更加稀少。
圖 6.3薪資與工作經(jīng)驗(yàn)的關(guān)系
由圖6.3所示,招聘人數(shù)最多的往往要求工作經(jīng)歷在1到3年之間,而要求10年的招聘崗位最少,這說明,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,各種崗位的更新?lián)Q代也在不斷加速,企業(yè)最需要的都是有經(jīng)驗(yàn)的新生代勞動力。
圖 6.4 招聘企業(yè)薪水水平
通過上圖6.4可以清晰地看出,社會團(tuán)體提供的薪資水平最低,民營企業(yè)提供的薪資水平最高。
四、總結(jié)
??本篇論文主要是利用Python的網(wǎng)絡(luò)爬蟲,通過相應(yīng)的程序代碼,從智聯(lián)網(wǎng)站上爬取我們所需要的招聘數(shù)據(jù),并將這些爬取下來的json類型的網(wǎng)頁數(shù)據(jù)存儲進(jìn)我們建立的關(guān)系型數(shù)據(jù)庫(Relational database)MySQL之中,最后通過字段確定,數(shù)據(jù)獲取,可視化實(shí)現(xiàn)來展示出我們所需要的結(jié)果圖,例如平均工資與職位之間的關(guān)系,工作經(jīng)驗(yàn)對于工作薪資待遇的影響等等。
??在這次畢業(yè)設(shè)計(jì)中,因?yàn)槲覍ython這門語言一知半解,加上爬取過程相對來說比較復(fù)雜,這導(dǎo)致了我在爬取智聯(lián)招聘網(wǎng)站時(shí)花費(fèi)了大量的實(shí)踐與精力。雖然說最后勉勉強(qiáng)強(qiáng)完成了一部分指導(dǎo)老師交代的課題要求,但是還存在著許許多多的缺陷與不足,由于之前從未涉及過Python這門語言和MySQL數(shù)據(jù)庫,再加上我的編程功底確實(shí)不盡如人意,這讓我在Python的過程中頻頻出錯(cuò),漏洞百出。在編程過程中,因?yàn)閷ython語言的不熟悉,我都是一邊從網(wǎng)上搜集資料,一邊查閱相關(guān)Python的書籍進(jìn)行代碼的編寫。這樣就會有好多Python底層代碼特別容易產(chǎn)生邏輯性
錯(cuò)誤,面對這些我充分認(rèn)識到了自己在編程方面還存在著很多不足,這份程序也有待改進(jìn)。希望在未來的日子里,我也可以通過不斷的學(xué)習(xí)強(qiáng)化自身能力,不辜負(fù)學(xué)校老師的教育和指導(dǎo)。文章來源:http://www.zghlxwxcb.cn/news/detail-773831.html
六、 目錄
1 緒論2
1.1 研究背景及意義2
1.2 研究現(xiàn)狀3
1.2.1 國外研究現(xiàn)狀3
1.2.2 國內(nèi)研究現(xiàn)狀3
1.3 論文的結(jié)構(gòu)安排4
2 設(shè)計(jì)原理4
2.1 應(yīng)用軟件介紹4
2.1.1 Python介紹4
2.1.2 爬取框架選擇5
2.2 設(shè)計(jì)思路6
3 數(shù)據(jù)采集6
3.1 采集需求6
3.2 網(wǎng)頁分析7
3.3 數(shù)據(jù)爬取8
3.4 進(jìn)行網(wǎng)站數(shù)據(jù)的分析9
4 MySQL數(shù)據(jù)庫9
4.1 數(shù)據(jù)庫選擇9
4.2 將數(shù)據(jù)存儲進(jìn)數(shù)據(jù)庫10
5 數(shù)據(jù)的分析處理11
5.1 字段確定11
5.2 招聘數(shù)據(jù)的獲取12
6 數(shù)據(jù)可視化以及研究結(jié)果13
6.1 可視化的實(shí)現(xiàn)13
6.2 研究結(jié)果13
7 結(jié)論及展望16
參考文獻(xiàn):17
致謝18文章來源地址http://www.zghlxwxcb.cn/news/detail-773831.html
到了這里,關(guān)于基于Python的網(wǎng)絡(luò)爬蟲及數(shù)據(jù)處理---智聯(lián)招聘人才招聘特征分析與挖掘的算法實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!