999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的求職信息采集分析系統設計與實現

2020-04-09 04:54:20關鑫潔黃思奇位磊
計算機時代 2020年3期
關鍵詞:數據挖掘

關鑫潔 黃思奇 位磊

摘 ?要: 為了便于求職者和招聘單位更精準地把握當前就業市場的變化與需求,提出了基于Python語言的求職信息采集分析系統,利用Scrapy分布式爬蟲獲取招聘信息,利用數據挖掘技術分析求職者意向,最后將數據清理并格式化后進行可視化展示。所得出的數據模型可以幫助求職者有效的評估出合適崗位和薪資,從而提高求職者的求職效率,同時招聘單位也可以通過此模型對招聘市場的趨勢進行總體把握,提高企業的競爭力。

關鍵詞: Python; Scrapy分布式爬蟲; 數據挖掘; 數據可視化

中圖分類號:TP391 ? ? ? ? ?文獻標識碼:A ? ? 文章編號:1006-8228(2020)03-32-04

Design and implementation of job search information collection

and analysis system using Python

Guan Xinjie, Huang Siqi, Wei Lei

(Huazhong University of Science and Technology, Wenhua College, Wuhan, Hubei 430074, China)

Abstract: In order to facilitate the job seekers and the employers to grasp the changes and demands of the current employment market more accurately, this paper proposes a job information collection and analysis system based on Python language, which uses the Scrapy distributed crawler to obtain the recruitment information, uses the data mining technology to analyze the intention of the job seekers, and finally clears and formats the data for visualized display. The data model obtained in this paper can help job seekers effectively assess the right jobs and salaries, thereby improving the efficiency of job seekers, and the employers can also use this model to grasp the overall trend of the recruitment market, improve the competitiveness of enterprises.

Key words: Python; Scrapy distributed crawler; data mining; data visualization

0 引言

互聯網技術廣泛應用于各行各業,網上求職日漸成為時尚,越來越多的求職者和供職單位利用網絡發布信息。有的求職網站已經對各種職業做出了分類歸納,然而大量的信息涌入使得求職者還是很難把握當前就業市場的變化,想要尋求符合自身需求的崗位很難。同時,大量的信息對于企業的人力資源部門來說也是一種負擔,需要做大量的簡歷篩選工作,并且難以實現對求職者的有效回饋。本文提出基于Python語言[1]的求職信息采集分析系統,以幫助求職者進行崗位和薪資的評估,同時幫助求職單位把握市場趨勢,提高企業的競爭力。

1 系統架構

基于Python語言的求職信息采集分析系統,利用Scrapy分布式爬蟲獲取招聘信息,利用數據挖掘技術分析求職者意向,將數據清理并格式化之后進行可視化展示。該系統主要分為三個模塊[2],第一個模塊是數據爬取,從招聘網站選擇互聯網各職位招聘信息,其中招聘信息屬性包括公司名稱,招聘職位和薪資地理位置等信息。第二個模塊是數據清理與格式化,利用pandas庫對垃圾數據進行去重,然后對薪資統一格式化為千元/月,且把地理位置統一定位到城市。第三個模塊是數據可視化把清理后的數據以圖的形式展現給求職者。系統基本架構如圖1所示。

2 系統設計與實現

2.1 數據爬取模塊

本系統對當下最熱門的幾個招聘網站,如拉勾網、boss直聘、前程無憂等進行數據爬取,由于數據量過于龐大,如果運用pyspider等框架不僅爬取效率低下而且還有可能會被反爬蟲較強的網站封掉IP地址從而導致數據不完整。而Scrapy框架不僅爬取效率高,可配置和可擴展程度也非常高,它幾乎可以應對所有反爬蟲網站[3]。

首先生成用于抓取第一個URL的初始請求,然后指定從這些請求下載響應調用的回調函數。通過調用start requests()方法為start_urls中制定的URL生成請求以及將parse方法作為請求的回調函數來調用start執行的第一個請求。在回調函數中,將返回帶有提取的數據的對象[4]。然后由指定的回調處理它們的響應,使用選擇器解析頁面內容,將生成的數據項目存儲到數據庫并用feed導出,得到粗糙的數據源,如表1所示。

2.2 數據挖掘模塊

2.2.1 路徑分析技術

為了更加準確的分析求職者的意向,所以本項目基于行為日志統計求職者行為路徑。用戶行為路徑的數據巨大,uv指標又不能提前計算好,如果展示5級一個頁面的數據量就是10的5次方,然而爬取到的有關數據大概有幾千個頁面,數據量是無法估量的,所以只能進行實時計算,而Spark非常適合迭代計算[5]。所以此次運用Spark來進行分析計算。

當獲取求職者搜索某一頁面的行為路徑明細數據時,RPC請求到后臺,調用spark-submit腳本啟動Spark程序,Spark程序進行實時計算并返回數據,前端java解析數據并進行展示。

構建一個多叉樹的類,對類的主要屬性描述,name全路徑,sonlist兒子鏈表,按時間范圍讀取上一步預處理的數據,遞歸計算每一級頁面的屬性指標,并根據頁面路徑插入到初始化的Node類根節點中。遞歸遍歷上一步初始化的根節點對象,替換其中的name的id為名稱,其中借助Spark DataFrame查詢數據。最后將root對象轉化成json格式返回前端[6]。這樣得到的數據就能清晰的看出求職者們的求職意向流動,如圖2所示。

2.2.2 分類分析技術

用貝葉斯分類算法將爬取到的各個職業的有關數據進行分類,其每一條數據樣本用一個4維特征向量X={xi}(i=1,2,3,4)表示,其中xi(i=1,2,3,4)分別是屬性(公司名稱,職位名稱,薪資,工作地址)的值,所有樣本分為7類:c1,c2,c3,...,c7.對于一個類標記未知的數據記錄,根據求職者所查詢的信息系統將會與已經分類好的數據進行數據建模為其推薦相關的求職信息。

采取貝葉斯分類算法主要是因為此次爬取的數據很龐大,若用決策樹分類算法,神經網絡分類算法或其他算法不僅速度會非常慢,而且分類的準確率還不是很高。

2.3 數據清理與格式化

本系統使用Python中的pandas包對數據進行清理和格式化。Pandas提供了快速、靈活和豐富的數據結構,可以簡單又直觀地處理“關系”和“標簽”數據,是 Python中做數據分析的重要模塊。

2.3.1 讀取數據

通過對網站中職業相關數據爬,取得到的數據大概有幾十萬條,雖然Pandas模塊中有專門針對xlsx和xls這類excel文件的讀取方法read_excel。但excel文件最多只能存儲100多萬行,而csv文件可以存儲上億行數據,所以用read_csv文件[7]。讀取代碼為:tt=pd.read_excel(r'd:\\***.xlsx',sheet_name='Sheet1')

2.3.2 處理空值

從網頁上得到的粗糙數據大多都存在空值,如果不進行空值的處理得到的數據會有很大的偏差,因此對空值的處理進行如下操作:若為1刪除,為2替換,3填充。刪除又分為是每行有一個空格就刪除該行,還是有三個空值就刪除該行;替換可以用上下行的值替換或者是用平均值替換。處理空值的關鍵代碼如下:

2.3.3 對薪資,地區格式化

由于不同網站中薪資待遇、地區等信息格式不一,有的薪資單位是千/月,有的是萬每年,有的是元/天,有的是K每月,有的有地區,有的沒地區,并且有些工作地址定位到市,縣,這里對所有工作地點定位到城市。如果不進行上述格式化將無法分析,因此需要將數據進行規范化處理,統一置換成千/月。這里利用xlrd模塊讀Excel表格,代碼如下:

2.3.4 清理數據得到結果

對表格的數據進行重復值校驗,對字符串類別的列進行除空格操作,最終得到清理完畢后的數據,如表2所示。實現代碼如下:

2.4 數據可視化模塊

為了讓數據以一種更加直觀,清楚的形式展現出來,這里運用python自帶的繪圖庫Pyecharts對每個網站的每個職業繪圖。Pyecharts是一個用于生成Echarts圖表的類庫。系統中主要調用了pyecharts庫中的Map,Geo模塊來繪出職業對應工作地點的全球散點/熱力分布圖,可以直觀地看出那個城市/區域的職位更多,就業機會更大。用Bar模塊來繪出各個職業在每個城市的薪資情況的條形圖,x軸是全國主要的32個城市,y軸疊加著職業最高工資與職業最低工資??梢苑奖闱舐氄咴谶x擇工作地點的同時了解地區的平均薪資情況。用Radar模塊繪出各個職業所需要掌握的技能比重的雷達圖,此雷達圖將Radar繪出的雷達圖進行了x軸變形。將原先x軸上的點離原點的距離r相應地換算為弧長L,每一個維度所間隔的角度θ由維度N決定,將圓周長切分成等份的弧度。所用到的弧長計算公式為:L=2r×п×θ/360。如將Java相關崗位在各個城市的薪資(千/月)情況進行展示,如圖3所示。

3 結束語

基于Python的求職信息采集分析系統是大數據在互聯網領域的典型應用。本系統通過Scrapy分布式爬蟲技術從各大招聘網站獲取海量信息,利用數據挖掘技術分析求職者意向,最后數據清理并格式化后進行可視化展示。該系統可以有效的展示各地區熱門崗位統計情況,各求職崗位的工作地點分布情況,各地區崗位薪資數據對比情況,不同崗位所需技能分析等等,根據各數據模型求職者和求職單位可以根據自己不同的需求獲取相應信息并對求職市場進行總體把握,從而做出正確決策。

參考文獻(References):

[1] Jake VanderPlas.Python數據科學手冊[M].人民郵電出版社,2018.

[2] 趙剛.大數據:技術與應用實踐指南(第2版)[M].電子工業出版社,2016.

[3] 崔慶才.Python3網絡爬蟲開發實戰[M].人民郵電出版社,2017.

[4] 張譽曜,陳媛媛.基于Python下的爬蟲綜述及應用[J].中國新通信,2019.21(6):98

[5] Jiawei Han.數據挖掘:概念與技術(第3版)[M].機械工業出版社,2012.

[6] 韋建國,王建勇.基于Python的Web數據挖掘應用[J].浙江水利水電學院學報,2019.31(4):79-82

[7] 董付國.Python程序設計開發寶典[M].清華大學出版社,2017.

猜你喜歡
數據挖掘
探討人工智能與數據挖掘發展趨勢
基于并行計算的大數據挖掘在電網中的應用
電力與能源(2017年6期)2017-05-14 06:19:37
數據挖掘技術在中醫診療數據分析中的應用
一種基于Hadoop的大數據挖掘云服務及應用
數據挖掘的分析與探索
河南科技(2014年23期)2014-02-27 14:18:43
基于GPGPU的離散數據挖掘研究
主站蜘蛛池模板: 欧美在线视频不卡第一页| 波多野结衣一区二区三区四区| 精品国产亚洲人成在线| 一级毛片免费高清视频| 久久a毛片| 国产18页| 福利视频一区| 欧美日韩在线成人| 国产www网站| 亚洲欧美国产五月天综合| 亚洲男人的天堂在线| 国产在线精彩视频二区| 亚洲福利片无码最新在线播放| 国产免费人成视频网| 99在线观看国产| 99色亚洲国产精品11p| 欧美成人精品一级在线观看| 丝袜无码一区二区三区| 亚洲一区波多野结衣二区三区| 欧美国产日韩在线观看| 亚洲精品无码成人片在线观看| 亚洲青涩在线| 亚洲欧美自拍中文| 日韩免费成人| 99er精品视频| 国产熟女一级毛片| 青青草原国产免费av观看| 91精品网站| 国产成人1024精品下载| 国产尤物jk自慰制服喷水| 乱人伦视频中文字幕在线| 日韩毛片免费| 一级一级特黄女人精品毛片| 视频国产精品丝袜第一页| 97色婷婷成人综合在线观看| 国产精品第| 五月婷婷综合网| 午夜丁香婷婷| 国产欧美日韩一区二区视频在线| 亚洲国产日韩欧美在线| 无码中文字幕乱码免费2| 中文字幕第1页在线播| 日本国产一区在线观看| 在线观看网站国产| 丁香五月婷婷激情基地| 热久久这里是精品6免费观看| 91麻豆国产视频| 亚洲欧美综合在线观看| 国产精品视频公开费视频| 国产一区二区视频在线| 无码免费的亚洲视频| 久草中文网| 香港一级毛片免费看| 2021国产乱人伦在线播放| 国产电话自拍伊人| 久久国产精品波多野结衣| 精品视频一区二区三区在线播| 成人午夜福利视频| 亚洲精品制服丝袜二区| 国产精品黑色丝袜的老师| 日韩精品久久无码中文字幕色欲| 日韩av无码精品专区| 亚洲成人77777| 国产午夜看片| 久久免费视频6| 欧美日韩91| 人妻无码一区二区视频| 18禁影院亚洲专区| 亚洲第一极品精品无码| 久久一色本道亚洲| 亚洲三级片在线看| 成人午夜网址| 国产交换配偶在线视频| 中文字幕免费播放| 好吊色国产欧美日韩免费观看| 国产成人亚洲精品色欲AV| 香蕉久久国产超碰青草| 亚洲国产理论片在线播放| 老汉色老汉首页a亚洲| 色婷婷狠狠干| 大香伊人久久| 亚洲av无码专区久久蜜芽|