国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

招聘數(shù)據(jù)可視化分析系統(tǒng)的設(shè)計與實現(xiàn)

2022-08-31 19:18黃錦帆梁少華張佳
電腦知識與技術(shù) 2022年18期
關(guān)鍵詞:網(wǎng)絡(luò)爬蟲協(xié)同過濾可視化分析

黃錦帆 梁少華 張佳

摘要:通過對當今的招聘現(xiàn)狀進行研究,該文設(shè)計并開發(fā)出一款可視化分析系統(tǒng),主要分為數(shù)據(jù)采集、存儲與處理、數(shù)據(jù)分析、可視化等功能模塊。通過網(wǎng)絡(luò)爬蟲爬取到的招聘數(shù)據(jù),經(jīng)預處理和分析之后,將學歷、熱門職位、福利待遇及技能要求等進行可視化展示,采用基于用戶的協(xié)同過濾算法對職位進行推薦并實現(xiàn)動態(tài)更新。在一定程度上可幫助求職者了解目前的社會人才招聘需求,快速找準自身定位。

關(guān)鍵詞:網(wǎng)絡(luò)爬蟲;招聘數(shù)據(jù);協(xié)同過濾;可視化分析

中圖分類號:TP311? 文獻標識碼:A

文章編號:1009-3044(2022)18-0039-03

開放科學(資源服務)標識碼(OSID):

1 引言

隨著國內(nèi)互聯(lián)網(wǎng)行業(yè)的飛速發(fā)展,以及一些非傳統(tǒng)因素的影響,網(wǎng)絡(luò)求職招聘愈發(fā)受到人們的歡迎。但其中也出現(xiàn)了一些問題,最突出的就是信息繁多雜亂,人崗的信息匹配度不是很理想。求職者希望可以直觀地看到某行業(yè)的現(xiàn)狀、發(fā)展前景以及招聘要求[1]。因此,我們可以利用相應的數(shù)據(jù)可視化技術(shù),采用圖表及圖示等方式來展示分析后的結(jié)果,幫助他們提高求職效率。

2 相關(guān)技術(shù)

2.1 Scrapy爬蟲

它是基于Python開發(fā)的一個快速抓取Web站點并提取結(jié)構(gòu)化數(shù)據(jù)的一個爬蟲框架,其主要由調(diào)度器、下載器、爬蟲、實體管道、Scrapy引擎構(gòu)成。它的優(yōu)勢就是使用了Twisted異步網(wǎng)絡(luò)框架處理網(wǎng)絡(luò)通信,大大加快了下載速率。工作流程如下:首先爬蟲將發(fā)送請求的URL經(jīng)引擎交給調(diào)度器,然后其處理后通過下載中間件傳給下載器,下載器對網(wǎng)頁發(fā)起請求并接受下載響應經(jīng)過引擎?zhèn)鹘o爬蟲,爬蟲接收響應并解析提取數(shù)據(jù),最后將數(shù)據(jù)通過實體管道保存到本地或?qū)獢?shù)據(jù)庫[2],根據(jù)所需重復上述過程直到停止。

2.2 職位推薦算法

對求職者進行相應的職位推薦,需要精準地了解到每個人的個性職位需求, 通過他們對某類職位的搜索次數(shù)以及對詳細信息的查看收藏次數(shù),系統(tǒng)會進行相關(guān)熱度的計算并排序。這里采用了基于用戶的協(xié)同過濾算法,對歷史行為數(shù)據(jù)進行度量打分,根據(jù)不同的求職者對某職位的偏好程度,使用歐幾里得距離評價公式來計算他們之間的系數(shù)關(guān)系。通過求職者之間的相似度數(shù)值,選擇關(guān)系最接近的用戶,利用他們的喜好為當前用戶進行相應的職位推薦[3]。 職位推薦信息將會隨著用戶的點擊不斷地動態(tài)實時更新,更加智能化地幫助求職者找到合適的崗位。

2.3 可視化技術(shù)

可視化技術(shù)就是將大量雜亂的數(shù)據(jù)轉(zhuǎn)化為人們直觀易懂的可視化形式,突出重點、條理分明地將分析結(jié)果展示出來,其中包含了科學計算可視化、數(shù)據(jù)可視化及信息可視化。Python中封裝了大量的繪制圖表庫,如:matplotlib、bokeh等。在對網(wǎng)絡(luò)招聘數(shù)據(jù)的分析中,如何去設(shè)計頁面,使其美觀又不突兀,展示出所需的結(jié)果,是需要考慮的問題。本文通過對目前主流的可視化庫進行比較,最后采用的是pyecharts可視化庫,它將基于百度可視化設(shè)計開源的Echarts庫和Python語言相結(jié)合,方便在Python中調(diào)用Echarts接口[4],直接生成可視化圖表,還可以生成可視化的HTML網(wǎng)頁,使用起來很方便。

3 系統(tǒng)設(shè)計

本系統(tǒng)基于B/S架構(gòu)開發(fā),主要分為數(shù)據(jù)采集、存儲和處理、數(shù)據(jù)分析、可視化四大功能模塊,將大量的業(yè)務邏輯直接在服務器端實現(xiàn),降低了開發(fā)和維護成本,也方便了用戶使用。使用三層結(jié)構(gòu)對系統(tǒng)進行切片分層,模塊化的迭代式開發(fā),保證了各功能模塊的獨立性,便于開發(fā)和維護工作的展開。從上到下依次分為表示層、業(yè)務邏輯層、數(shù)據(jù)訪問層。架構(gòu)圖如圖1所示。

4 系統(tǒng)實現(xiàn)

4.1 數(shù)據(jù)采集模塊

網(wǎng)絡(luò)爬蟲主要是通過偽裝瀏覽器頭等繞開反爬機制,編寫遵循一定規(guī)則的腳本或者程序?qū)W(wǎng)站的信息進行爬取,設(shè)計適宜的解析結(jié)構(gòu)對網(wǎng)頁結(jié)構(gòu)進行解析得到數(shù)據(jù)。首先訪問Boss直聘,點擊不同的界面觀察,右鍵檢查進入開發(fā)者工具,點擊Network,按F5刷新,觀察URL結(jié)構(gòu)。然后設(shè)計爬蟲的基本結(jié)構(gòu),構(gòu)造動態(tài)的URL來爬取想要的信息。為了繞開反扒機制,通過在瀏覽器的Headers中看到的User-Agent和Accept-Language以及Cookie,以此構(gòu)造表頭,讓瀏覽器允許爬蟲腳本訪問。將需要爬取的key關(guān)鍵字存儲在字典中,通過item方法進行關(guān)鍵字的獲取,以便后面的爬取[5],使用的是request庫中的request.get()方法來獲取頁面,返回response對象。在Resopnse中可以看到爬取的字段的網(wǎng)頁構(gòu)造,以便于后面的解析數(shù)據(jù)。

4.2 數(shù)據(jù)存儲和處理模塊

由于爬蟲獲取到的數(shù)據(jù)并不都是符合規(guī)范的,存在著重復、不一致、錯誤、空值等問題。為了解決此不足,本文使用了Pandas庫來進行數(shù)據(jù)處理的工作。首先將數(shù)據(jù)轉(zhuǎn)換為DataFrame格式,通過使用其中的isnull()方法來判斷數(shù)據(jù)是否為空值,DataFrame.fillna()方法對數(shù)據(jù)進行填充;DataFrame.drop_duplicates()可以快速按行檢測并刪除重復的記錄[6]。

Python中包含了很多的常見存儲方式,如:MySQL、CSV文件、JSON文件等,這里使用的是MongoDB非關(guān)系型數(shù)據(jù)庫,它基于Key-Value保存數(shù)據(jù),能很好地適應爬蟲字段變化,非常適合存儲爬取到的招聘信息中的職位名稱、工作地點、薪資福利待遇、學歷和技能要求等結(jié)構(gòu)化文本字段。用它存儲數(shù)據(jù)時,需要事先安裝好MongoDB數(shù)據(jù)庫并啟動相應服務,在Python中導入pymongo庫,然后使用client=pymongo.MongoClient(host=‘localhost,port=27017)創(chuàng)建數(shù)據(jù)庫連接對象,導入處理之后的數(shù)據(jù)集。

4.3 數(shù)據(jù)分析模塊

數(shù)據(jù)分析是整個流程中最重要的階段,它主要的工作是將上階段經(jīng)過清洗處理之后的數(shù)據(jù)按照一定的規(guī)則方法進行分析,為之后的可視化展示提供數(shù)據(jù)支撐[7]。主要涉及:中文分詞、工作經(jīng)驗及學歷與薪資關(guān)系、熱門職位、繪制職位技能關(guān)鍵詞和福利待遇詞云圖、崗位地點分布等。

1)中文分詞:招聘信息多為中文文本,這里采用了jieba作為分詞工具。它基于前綴詞典實現(xiàn)高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構(gòu)成的DAG,采用動態(tài)規(guī)劃去查找最大的概率路徑, 找出基于詞頻的最大切分組合。具有高性能、準確率高、速度快等特點。

2)工作經(jīng)驗、學歷與薪資的相關(guān)性:采用最小二乘法計算兩組數(shù)據(jù)的線性相關(guān)程度,公式如下:

r=[1nk=1n(xk- uxσx? × yk- uyσy)]

其中,[ux]、[σx]分別表示數(shù)據(jù)列x的平均值和標準差,[uy]、[σy]分別表示數(shù)據(jù)列y的平均值和標準差。相關(guān)系數(shù)r的值越接近于[±]1,說明相關(guān)程度越強;r越接近于0,說明數(shù)據(jù)相關(guān)性越差。

3)熱門職位:首先使用K-means聚類算法,將數(shù)據(jù)中的職位名稱字段進行分類,統(tǒng)計出數(shù)量最多的職位類別。在此類中對職位名稱字段使用jieba進行中文分詞處理,統(tǒng)計它們出現(xiàn)的詞頻大小,得到出現(xiàn)次數(shù)最多的幾個職位關(guān)鍵詞,則它們就是此類中的熱門職位。

4)繪制技能及福利詞云圖:每個行業(yè)類型的職位技能關(guān)鍵字和福利待遇詞云的實現(xiàn)主要是通過遍歷所有的職位信息,再使用jieba分析統(tǒng)計各種關(guān)鍵字出現(xiàn)的次數(shù),統(tǒng)計詞頻進行格式的轉(zhuǎn)換。最后使用Python的List.sort()方法設(shè)定參數(shù)進行排序,就可以得到其頻率順序,從而通過Python中的WordCloud庫繪制這些詞的詞云,在可視化界面進行展示。

5)崗位地點分布:通過對工作城市關(guān)鍵字進行分詞統(tǒng)計,計算每個的總數(shù)大小。繪制分布圖來展示全國的工作崗位城市分布圖,可以通過圖上的顏色深淺大小來判斷崗位的數(shù)量。

4.4 數(shù)據(jù)可視化模塊

系統(tǒng)最后就是要實現(xiàn)對網(wǎng)絡(luò)招聘數(shù)據(jù)的可視化分析,將分析之后的結(jié)果以圖表或圖畫的形式展現(xiàn)在前臺界面上。主要使用了目前的主流開發(fā)Python Web框架Django以及pyecharts開源可視化庫[8]。

Django框架采用的是MVT模式,系統(tǒng)中的settings.py存放的是項目的各類配置文件,urls.py存放的是路由,wsgi.py是Web服務器與Django交互的入口。工作原理如下:首先是用戶通過瀏覽器來對頁面發(fā)起請求,之后請求會到達Request MiddlewaRes,其會對request做預處理或者是直接response回應,URLConf會將請求的url用來和urls.py中的進行匹配,從而找到相應的views。找到之后,就可以調(diào)用視圖views中的對應函數(shù)對業(yè)務邏輯進行處理。視圖views作為溝通橋梁,可以通過調(diào)用Model層來對數(shù)據(jù)庫中的數(shù)據(jù)進行訪問并返回。views接收到請求之后,構(gòu)造一個HttpResponse響應對象,可以使用context來對上下文進行處理,context被傳遞給template用來生成頁面。調(diào)用模板template里的render()方法并使用context傳進的參數(shù)渲染HTML界面,將響應對象返回到瀏覽器,呈現(xiàn)給用戶。

5 可視化分析結(jié)果

1)學歷分布狀況

在這個科技高速發(fā)展的時代,學歷是求職的敲門磚。對于沒有實踐經(jīng)驗的應屆畢業(yè)生來說,更是衡量其學習能力、自身素質(zhì)的重要因素。從分析結(jié)果可知,本科占據(jù)了大多數(shù),與目前的教育狀況有關(guān)。另外,我們可以了解到現(xiàn)在的企業(yè)對求職者的學歷層次要求,更好地找準自身定位[9]。

2)熱門職位展示

隨著科學技術(shù)的飛速發(fā)展,以人工智能領(lǐng)域為例,自動駕駛、元宇宙風頭正盛,但也急需新的人工智能算法去解決出現(xiàn)的問題。因此,使得算法工程師、圖像處理、數(shù)據(jù)挖掘等領(lǐng)域也日趨熱門。隨著國家政策的不斷投入,工業(yè)產(chǎn)業(yè)鏈升級,相關(guān)的人才缺口巨大,創(chuàng)造了很多的就業(yè)機會。

3)數(shù)據(jù)挖掘的福利待遇詞云圖

以數(shù)據(jù)挖掘崗位為例,在眾多的福利待遇中,五險一金是其中最基本最重要的保障,隨之是績效和年終獎等,這是激勵求職者的重要手段。

4)職位技能要求詞云圖

以Python開發(fā)工程師為例,可以看到的是對于數(shù)據(jù)庫以及Web框架、工作經(jīng)驗、競賽還是比較看重的。對于之后有志從事于此的學生,要注意這方面的積累,打好堅實的專業(yè)基礎(chǔ)。

6 結(jié)束語

針對眾多的線上招聘信息,本文設(shè)計開發(fā)出一款基于網(wǎng)絡(luò)爬蟲的招聘數(shù)據(jù)可視化分析系統(tǒng)。采用的開發(fā)技術(shù)和方式,占用內(nèi)存少,完整地實現(xiàn)了功能。采用基于用戶的協(xié)同過濾算法對求職者進行職位推薦,以各類圖表以及詞云的形式直觀地給用戶展示了各類分析結(jié)果,為他們展示了一個清晰的招聘求職現(xiàn)狀。它在一定程度上幫助人們找準定位,及時調(diào)整求職方式和策略,具有積極的指導意義。

參考文獻:

[1] 韓月喬.中小企業(yè)網(wǎng)絡(luò)招聘問題研究[J].價值工程,2020,39(16):223-224.

[2] 黎妍,肖卓宇.引入Scrapy框架的Python網(wǎng)絡(luò)爬蟲應用研究[J].福建電腦,2021,37(10):58-60.

[3] 王碩.基于協(xié)同過濾的農(nóng)業(yè)新聞推薦系統(tǒng)的研究[D].長春:吉林農(nóng)業(yè)大學,2021.

[4] 侯瑾菲,梁藝多.基于Python的政府開放數(shù)據(jù)可視化應用研究[J].科學技術(shù)創(chuàng)新,2021(34):160-162.

[5] 黎曦.基于網(wǎng)絡(luò)爬蟲的論壇數(shù)據(jù)分析系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:華中科技大學,2019.

[6] 殷麗鳳,張浩然.基于Python網(wǎng)上招聘信息的爬取和分析[J].電子設(shè)計工程,2019,27(20):22-26.

[7] 孫亞紅.基于Python的招聘信息爬蟲系統(tǒng)設(shè)計[J].軟件,2020,41(10):213-214,235.

[8] 白昌盛.基于 Django的 Python Web開發(fā)[J].信息與電腦,2019,31(24):37-40.

[9] 扶明亮,李剛.基于招聘網(wǎng)站大數(shù)據(jù)分析的求職者需求與企業(yè)需求匹配研究[J].統(tǒng)計與管理,2021,36(8):91-97.

【通聯(lián)編輯:梁書】

猜你喜歡
網(wǎng)絡(luò)爬蟲協(xié)同過濾可視化分析
我國職業(yè)教育師資研究熱點可視化分析
煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設(shè)計與實現(xiàn)
聲波吹灰技術(shù)在SCR中的應用研究
措美县| 天峻县| 曲沃县| 榆社县| 连南| 孟村| 潮州市| 瓦房店市| 凭祥市| 吴桥县| 松滋市| 红原县| 曲麻莱县| 常山县| 潢川县| 宜城市| 灌云县| 论坛| 岐山县| 隆林| 安宁市| 贵德县| 贡觉县| 陆川县| 长兴县| 吴忠市| 招远市| 忻州市| 信宜市| 梅河口市| 遵义市| 丰台区| 梧州市| 枣强县| 阜宁县| 兴业县| 平乡县| 龙南县| 晋江市| 云阳县| 双流县|