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

基于python的招聘信息爬取與分析

2020-11-10 04:38:45潘承佳劉冬冬
電腦知識與技術 2020年27期
關鍵詞:數據分析可視化

潘承佳 劉冬冬

摘要:隨著人工智能,大數據時代的來臨,python語言也因此大熱,python語言在編程語言排行榜中也水漲船高。與python有關的崗位在lT求職市場中,也越發顯得旺盛。分析python崗位的具體情況,對于大學生求職,以及自己未來的職業規劃都具有深刻的指導意義。該文利用spider技術爬取了近700頁的崗位信息,并對這些粗數據進行數據的清洗,分類。利用預處理之后的有效數據,進行數據分析,并繪制相關圖表。此外,還對招聘要求進行分詞、去停用詞后,繪制詞云。通過一系列的可視化操作,該文對于python崗位在全國IT市場的行情,有了更深入的了解。可以得到薪資和學歷,薪資和工作年限,一線城市崗位的規模比較以及崗位招聘要求的詞云圖等信息。

關鍵詞:spider;python;可視化;數據分析

中圖分類號:TP391.1 文獻標識碼:A

文章編號:1009-3044(2020)27-0102-03

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

1 背景

目前,IT界對于python人才的需求已經越來越旺盛,然而python專業人才相對其他語言相對較少,這就使得python相關崗位數以及工作薪資待遇顯著提升。本文選擇國內最大的招聘網站51job為平臺,利用爬蟲技術、數據可視化技術對python崗位進行分析,從而從真實的數據層面反映當前python人才市場情況。網絡爬蟲具有諸多優勢,可根據用戶的實際需求,進行爬取,獲取整個網頁,具備很強的自定義性特點[1]。

2 相關技術

2.1 爬蟲技術

網絡爬蟲[2](WebCrawler),是一種按照一定的規則,自動提取Web網頁的應用程序或者腳本,工作原理是基于http協議中請求與響應機制[3]。網絡爬蟲的優點在于,它可以將整個網頁完整爬取下來,而且具有高度的自定義性[4]。客戶端發送HTTP請求,將url提交給服務器端。服務器端根據ur1l的信息進行邏輯處理,并將需要的數據返回給客戶端。由于請求的信息不止在一個url中,不得不建立一個url列表通過持續的發送請求進而得到全部的信息。返回的信息是HTML( Hypertext MarkupLanguage),通過BeautifuISoup,XPath,正則表達式等技術可以高效地抽取具有固定特征的頁面信息,準確率很高。

2.2數據可視化

Python為我們提供了用來制作圖表的庫函數如.matplot-lib,pandas等。事實證明這些方法已經十分成功,而本文使用一個國產開源python庫pyecharts,它是基于百度開源web可視化庫Echarts,集合python語言自動生成Echarts圖表。它不但可以繪制圖表,還可以生成獨立的HTML網頁。具有良好的性能,并且使用方便。

3 數據獲取

3.1 總體設計

首先打開Chrome瀏覽器,進入前程無憂的網頁,打開開發者選項,找到其中的network,獲取URL以及請求頭中的head-ers[5]。本文利用request庫的get方法模擬進入5ljob網站,在發送請求中添加python參數,進而可以得到整個網站關于python的所有崗位。我們得到的信息包括:公司名稱、薪資水平、公司性質,以及崗位信息等等

3.2 爬蟲模塊的設計

第一步:我們定義一個名叫get_end_page的函數,在發送get請求后,得到HTML頁面,利用XPath技術獲取最后一頁的字符串,即獲取到該職位關鍵詞總共在網站上有多少頁數,并打印出來。XPath即為XML路徑語言,它是一種用來確定XML(標準通用標記語言的子集)文檔中某部分位置的語言[6]。這樣也可以對數據量有個心理預期。

第二步:由于頁數眾多,我們需要執行頁面的跳轉,這時候就需要我們知道每一頁的URL。定義一個函數get_url,并將上一步得到的總共的頁數傳人函數參數。不難發現每一頁的URL都是有相同的規律,通過這些網頁鏈接,再繼續尋找新的網頁鏈接[7]。我們通過XPath技術獲得整頁的URL列表。部分代碼如下:

Def' get_url(self,count):

num=0#用于判斷是請求響應失敗,還是頁數到底了

while True:

num+=1

text= response.content.decode(gb18030,)

html= etree.HTML(text)

detail_urls =html.xpath

(”//div[@class=dw_table']/div[@class=el]//p/span/a/@href")

if len(detail_urls)==0:

#防止返回的是空數據,設置休眠

time.sleep(2)

continue

else:

break

return detail_urls

#url列表

第三步:有了上一步得到的URL列表,再次利用request庫的get方法實現網頁的抓取,再利用XPath技術獲取到相應崗位的具體信息。我們創建- csv文件并把數據保存進去,命名為“python招聘職位.csv”。

第四步:為了讓代碼看起來更加的簡潔,本文采用封裝的編碼思想。把所有的步驟封裝在一個類中,類名為PositionS-pider,爬蟲的每個步驟定義為類的實例方法,類的初始化函數中定義headers,keyword,以及csv文件。這樣可以做到代碼的復用,符合“python之禪”的要求。

經以上數據獲取之后,獲得2313行招聘信息,數據如下圖所示:

3.3 數據處理

由上一步得到的源數據,稱之為“糙數據”。由于本文主要做的就是薪資、公司地址,和學歷這幾個維度的關系。所以,必須對這些數據進行清洗出來,得到用來可視化的數據集。對于薪資數據,源數據表現形式為:“**千/月,**萬/月,**元/天”,本文采用字符串的findall方法將前面的數字提取出來,在進行換算,得到類似于15000這樣的表現形式,還有的薪資是某個期間范圍內,如:0.6-1萬/月,本文采用的是該區間平均數的方式處理。以下是核心代碼:

wages=re.findaⅡ(,([.\d]+)一([.\d]+),a)

wages= [《float(i[0])+ float(iLI]))/2)* 1000

對于學歷這個維度,源數據就是:本科,碩士這樣的形式,不需要進行處理,可以直接進行使用。工作的城市,源數據是類似于“上海一長寧區”,我們直接按照源數據的“一”字符分割,拿到前面的城市名。核心代碼如下:

def wish(a):

a=a[0]

a= a.split(一)

return a[0]

4 分析過程

4.1工作經驗與工資的分析

通過折線的變化可以明顯看出,工作5年以后工資水平會有一個大的上升。工作3年之內,薪資漲幅不大。基本上有5年工作經驗,可以拿到2萬月薪。前三年的工作經驗很重要,打好前三年的職場基礎,在未來的職場生涯中就可以升職加薪。要求一年經驗的崗位,平均薪資為:10361元;8-9年經驗的崗位,平均薪資為:36614元。所有經驗,平均薪資為:19918.43元。

4.2 工資與學歷的分析

不難發現,學歷的高低直接影響了工資多少,可以看到本科升到碩士,比專科升到本科工資漲幅更大。市場對更高級的人才需求更加旺盛,公司愿意花更大的代價引進人才。作為計算機專業的學生,提高自己的學歷也是一件值得考慮的事情。同時,專科及以上學歷的人員平均工資都達到了16264元,說明IT界整體薪資水平偏高,行業屬于熱門一類。大家在選專業以及自己未來的職業規劃方面,選擇python相關專業,就業前景還是很好的。

4.3 一線城市公司規模分析

如圖4所示:上海地區的公司規模在四大一線城市中排名第一,行業大公司在上海分布的較多。對于求職人群來說,未來可以選擇上海作為最佳求職地是更加明智的。

4.4 崗位信息的詞云分析

本文通過Python中的Jieba模塊來實現分析過程中對詞頻和關鍵詞的統計[8]。Jieba分詞是一個Python中文分詞組件,本文采用Jieba分詞技術[9]的精確模式技術,利用Jieba庫中進20000個單詞,進行前綴樹掃描,從而達到快速查找的目的。

Jieba分詞可以在崗位職責中分析出各種詞出現的頻率,使用Python下的wordcloud模塊繪制這些詞的詞云。可以看出,開發工程師、軟件工程師是市場需求比較大的崗位。同時要求有經驗且本科以上學歷。對于求職者而言,我們需要掌握的技能包括:Linux、MySQL、機器學習、算法等。詞云圖,可以直觀地看到市場的要求,對求職者來說是很重要的參考。詞云圖如下:

5 結束語

本文基于爬蟲的request方法,實現了一個爬取5ljob網站中招聘信息的爬蟲。該爬蟲以python相關的崗位為爬蟲目標,通過python中的pyecharts數據處理和作圖模塊進行數據可視化展示。本文爬取到的數據符合預期要求,此外還對薪資與學歷,工作經驗的關系,大公司的分布地區,以及崗位要求進行分析,而且可視化展示分析的結果,對于求職者未來的職業規劃有一定的指導意義。

參考文獻:

[1]劉曉知,基于Python的招聘網站信息爬取與數據分析[J].電子測試,2020(12): 75-76,110.

[2]王大偉.基于Python的Web API自動化測試方法研究[J].電子科學技術,2015,2(5): 573-581.

[3]馮佳捷,王瑞.中文分詞技術對中文搜索引擎的查準率及查全率的影響[J].計算機光盤軟件與應用,2013,16(6):184, 259.

[4]王芳.基于Python的招聘網站信息爬取與數據分析[J].信息技術與網絡安全,2019,38(8): 42-46,57.

[5]姜杉彪,黃凱林,盧昱江,等,基于Python的專業網絡爬蟲的設計與實現[J].企業科技與發展,2016(8): 17-19.

[6]齊鵬,李隱峰,宋玉偉,基于Python的Web數據采集技術[J].電子科技,2012,25(11): 118-120.

[7] John Coerzen.Python網絡編程基礎[M].莫遲,譯,北京:電子工業出版社,2007.

[8]舒德華.基于Scrapy爬取電商平臺數據及自動問答系統的構建[D].武漢:華中師范大學,2016.

[9]柳汨.基于HTML語言的網頁制作淺卡斤[J].中小企業管理與科技(_上旬刊),2016(1): 258.

【通聯編輯:謝媛媛】

作者簡介:潘承佳(1996-),男,碩士,研究方向為數據分析;劉冬冬(1977-),男,副教授,研究方向為web應用與安全。

猜你喜歡
數據分析可視化
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
Excel電子表格在財務日常工作中的應用
淺析大數據時代背景下的市場營銷策略
新常態下集團公司內部審計工作研究
中國市場(2016年36期)2016-10-19 04:31:23
淺析大數據時代對企業營銷模式的影響
主站蜘蛛池模板: 欧美色99| 99精品久久精品| 久青草网站| 国产一区二区免费播放| 国产成人精品一区二区秒拍1o| 国产在线97| 国产日韩AV高潮在线| 国产福利一区在线| 国产99视频精品免费观看9e| 中文字幕 91| 国产在线八区| 沈阳少妇高潮在线| 日韩午夜伦| 色婷婷视频在线| 精品国产免费观看一区| www.日韩三级| 亚洲中文字幕久久无码精品A| 伊人久久福利中文字幕| 毛片三级在线观看| 热伊人99re久久精品最新地| 欧美日韩资源| 亚洲男人在线| 免费在线国产一区二区三区精品| 亚洲av无码专区久久蜜芽| 91精品国产福利| 日本三区视频| 国内黄色精品| 亚洲第一色视频| 亚洲国产亚综合在线区| 久久精品66| 日本免费福利视频| 日韩av电影一区二区三区四区| 国语少妇高潮| 找国产毛片看| 久久久久中文字幕精品视频| 成人福利在线免费观看| 国产AV无码专区亚洲精品网站| 高清国产在线| 亚洲视频在线网| 高潮爽到爆的喷水女主播视频| 欧美激情视频二区| 18禁黄无遮挡网站| 波多野衣结在线精品二区| av在线无码浏览| 一级毛片在线播放免费观看| 欧美www在线观看| 国产剧情伊人| 亚洲一级毛片免费看| 3344在线观看无码| 国产18在线| 成人在线欧美| 免费一级无码在线网站| 国内精品自在欧美一区| 亚洲va视频| 最新精品国偷自产在线| 亚洲第一成年网| 久久人搡人人玩人妻精品一| 亚洲无码精彩视频在线观看| 日本草草视频在线观看| 亚洲综合国产一区二区三区| 亚洲综合婷婷激情| 四虎永久免费地址| 又爽又大又光又色的午夜视频| 国产剧情一区二区| 无码精品国产VA在线观看DVD| 国产一区二区福利| 久久99国产综合精品女同| 夜夜拍夜夜爽| 伊人蕉久影院| 欧美、日韩、国产综合一区| 亚洲高清无码久久久| 国产欧美日韩综合一区在线播放| 国产黄在线观看| 久久精品亚洲热综合一区二区| 最新国产在线| 欧洲成人免费视频| 在线亚洲小视频| 永久免费av网站可以直接看的 | 美女一级毛片无遮挡内谢| 污网站免费在线观看| 玖玖精品在线| 国产免费久久精品99re丫丫一|