亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于51job網(wǎng)站招聘信息的爬取與分析
        ——以Python技術(shù)崗位為例

        2021-04-24 13:05:16毛遂毛紅霞
        關(guān)鍵詞:可視化信息

        ◆毛遂 毛紅霞

        (四川大學(xué)錦城學(xué)院 計算機與軟件學(xué)院 四川 611731)

        1 背景

        伴隨著社會便利性科技的不斷發(fā)展和大數(shù)據(jù)相關(guān)技術(shù)的普及與應(yīng)用,大多數(shù)人由前往人才市場的傳統(tǒng)招聘轉(zhuǎn)變?yōu)樵谙嚓P(guān)招聘網(wǎng)查看和篩選合適崗位。網(wǎng)絡(luò)招聘不但招聘范圍廣、招聘信息齊全,而且招聘方式更為便捷。它打破了時間和地域的限制,逐漸成為企業(yè)組織招聘的主流方式之一[1]。但因為大量相關(guān)信息的充斥和地域空間的限制,很多的招聘者難以在短時間內(nèi)找出適合自己的崗位和工作地點。

        網(wǎng)絡(luò)爬蟲技術(shù)的不斷發(fā)展剛好為這樣繁雜的數(shù)據(jù)找到了一條很好的處理道路,利用web 網(wǎng)絡(luò)爬蟲技術(shù)可以將大量的招聘信息保存到本地,再結(jié)合Python 語句就可以實現(xiàn)數(shù)據(jù)的清洗整合和圖例繪制。

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

        2.1 爬取技術(shù)分析

        網(wǎng)絡(luò)爬蟲(Web Crawler),是一種按照一定的規(guī)則,自動提取Web網(wǎng)頁的應(yīng)用程序或者腳本,工作原理是基于http 協(xié)議中請求與響應(yīng)機制。其優(yōu)點在于,它可以將整個網(wǎng)頁的源代碼完整爬取下來[2]。訪問者通過相關(guān)設(shè)備發(fā)送請求并傳輸url 到目標服務(wù)器,目標服務(wù)器通過相關(guān)處理和優(yōu)化分析后返回訪問者所需信息,訪問者得到相關(guān)HTML 信息后可利用Beautiful Soup,正則表達式,Xpath 等技術(shù)去獲取到想要的網(wǎng)頁固定信息。此外本次實驗將通過引入selenium,time等包進行網(wǎng)頁的動態(tài)爬取。

        2.2 數(shù)據(jù)清洗和可視化技術(shù)分析

        Python 這門語言為技術(shù)者們提供了大量的數(shù)據(jù)處理的方式,常用的有pandas 以及matplotlib。Pandas 是用于高性能數(shù)據(jù)分析的技術(shù)庫,在支持各種數(shù)據(jù)結(jié)構(gòu)相互轉(zhuǎn)換的同時又可提取和保存數(shù)據(jù)。而Matplotlib 可以將處理好的數(shù)據(jù)轉(zhuǎn)化為圖表形式,通過可視化將數(shù)據(jù)進行直觀的展示[3]從而反映出數(shù)據(jù)的各項明顯特征。

        3 總體描述

        本次實驗將通過 Pycharm 2020.1.3,Google Chrome 86.0 和selenium 庫當中的webdriver 讓電腦自行模擬人登錄和訪問指定網(wǎng)站(51Job 招聘網(wǎng)站)的一系列行為。通過for 循環(huán)和driver.page_source保存翻頁的源代碼信息,再利用BeautifulSoup 相關(guān)方法提取指定信息的節(jié)點并保存至空列表,以便后續(xù)利用append 和get 方法獲取指定文本信息。數(shù)據(jù)清洗過程使用Python 語句實現(xiàn)非標準數(shù)值的處理和空缺值處理。

        數(shù)據(jù)可視化過程利用Matplotlib 畫圖工具進行相應(yīng)的作圖,以便直觀看出目標爬取數(shù)據(jù)之間的聯(lián)系與區(qū)別。

        4 爬取實現(xiàn)

        4.1 登錄和搜索相關(guān)內(nèi)容

        本次實驗爬取的51Job 網(wǎng)站在登錄前和登錄后所展示的內(nèi)容不同,故需要通過完成登錄才能實現(xiàn)相關(guān)數(shù)據(jù)的爬取工作。登錄過程使用語句如:driver.find_element_by_css_selector 和send_keys。此過程可以讓電腦自行實現(xiàn)輸入指定賬戶和密碼,若在登錄過程當中遇到驗證問題(滑塊點擊)則需手動輔助完成。

        4.2 相關(guān)內(nèi)容的爬取

        首先可以利用Google Chrome 瀏覽器的F12 開發(fā)者工具來查看所要爬取內(nèi)容在網(wǎng)頁上對應(yīng)的標識。之后使用BeautifulSoup 寫出提取表達式進行一一爬取。在原網(wǎng)頁中可以看到爬取對象職業(yè)名稱、工資、地點、要求、時間都是在span 這個節(jié)點下的,除了彼此之間的class 名稱不同。而公司名稱在a 節(jié)點下,公司的大小是在p 節(jié)點下。通過append 方法可以將爬取下來的文本信息放入每一個所對應(yīng)的空列表當中。具體代碼如下:

        for i in soup.find_all('span',class_=['jname at','sal','d at','time')

        for i in soup.find_all('a',class_='cname at')

        for i in soup.find_all('p',class_='dc at')

        由于是利用webdriver 實現(xiàn)的動態(tài)爬取,所以需要實現(xiàn)自動翻頁。其具體如下:首先使用css 找到每頁原址定位如:在翻第二頁時的地址為(body >div:nth-child(4)>div.j_result >div >div.leftbox >div:nth-child(4)>div.j_page >div >div >div >ul >li:nth-child(3)>a)仿制如上操作7 頁之后發(fā)現(xiàn),此后的css 定位將會固定不變,同時也不難看出在翻頁規(guī)律上唯一的不同是li:nth-child()括號中的數(shù)字,當通過for 循環(huán)改變括號數(shù)字的時候便可實現(xiàn)網(wǎng)頁爬取。

        5 數(shù)據(jù)清洗

        5.1 數(shù)據(jù)去重和薪資缺失值處理

        在保證數(shù)據(jù)一一對應(yīng)的前提下,去除重復(fù)行(data=data.drop_duplicates())。

        如果將所有薪水中帶有空值的數(shù)據(jù)剔除會大大降低數(shù)據(jù)統(tǒng)計的可靠程度,所以會將爬取的數(shù)據(jù)通過指定列名的形式來逐行遍歷,找出其眾數(shù)值并填入存在缺失值的行中。此時填充完的薪水列是單獨存在的新列,可以用覆蓋的形式讓其替代原始數(shù)據(jù)列。最后用isnull().sum()來檢查缺失值是否消除,以驗證工作的可行性。

        5.2 拆分和整合數(shù)據(jù)

        通過觀察csv 文件當中的數(shù)據(jù)如:“北京-朝陽區(qū) | 3-4 年經(jīng)驗| 本科 | 招3 人”可以發(fā)現(xiàn)許多有用的數(shù)據(jù)是通過( | )相連在一起的,不滿足數(shù)據(jù)處理條件,所以需要將此列的數(shù)據(jù)進行相應(yīng)的拆分和保留。

        同樣在文件中的requires 和company_size 列都可以發(fā)現(xiàn)一些不符合招聘信息格式的存在。此時就需要去進行相應(yīng)的處理工作。如requires 當中存在“深圳-福田區(qū) | 本科 | 招2 人”(標準格式為四個招聘信息)這樣招聘信息只有三個的情況,company_size 當中有著“私企”(標準格式為兩個招聘信息)。

        在對應(yīng)的 jobField 列中存在如“后端研發(fā)工程師”這樣不包含所查詢關(guān)鍵詞Python 的崗位名稱的情況。同時也會存在python 中的開頭英文大小寫不統(tǒng)一的情況,所以都需要進行統(tǒng)一化處理。具體代碼如下:

        J=j.split(' | ')

        k=k.replace('python','Python')

        if len(I)!=4 or len(J)!=2 or 'Python' not in k:

        原始列名requires 拆分后構(gòu)成新列名“area”,“work year”,“education”,“hiring”,待裝入清洗后的數(shù)據(jù)之后將原來的列名requires刪除。對 Company_size 執(zhí)行相同操作后構(gòu)成 companyType 和companySize。

        5.3 去掉括號內(nèi)容和地區(qū)優(yōu)化

        在jobField 和companyType 當中可以發(fā)現(xiàn)有的數(shù)據(jù)是帶有多余括號的,為了使數(shù)據(jù)看起來美觀就需要利用正則表達式去掉中英文括號及其內(nèi)容(i=re.sub('(.*?)','',i),i=re.sub('(.*?)','',i))

        清洗后的數(shù)據(jù)集當中地區(qū)數(shù)據(jù)依然存在附屬的情況,如“北京-朝陽區(qū)”,本次實驗只留下市級地區(qū)。

        5.4 薪資優(yōu)化

        在薪資列當中會出現(xiàn)薪資不統(tǒng)一的情況如:“***千/月,***元/天(日),***萬/月”所以綜合考慮,最佳的方案是將單位都統(tǒng)一成“***千/月”的形式。而對于薪資是一個區(qū)間的相關(guān)形式則采取平均數(shù)的方式來處理。如出現(xiàn)“5-8 千/月”在清洗后就會得到“6.5 千/月”的結(jié)果,結(jié)果保留一位小數(shù)。具體代碼如下:

        mean_salary=(low_salary+high_salary)/2

        salary='-'.join((str(low_salary),str(high_salary)))+'千/月'

        6 數(shù)據(jù)分析可視化

        6.1 崗位占比和企業(yè)類型

        根據(jù)清洗后的相關(guān)數(shù)據(jù)可以得出在與Python 技術(shù)相關(guān)工作崗位的餅狀圖(左圖),前五種分別為Python 開發(fā)工程師、Python 高級開發(fā)工程師、Python 工程師、Python 爬蟲工程師和Python 后端開發(fā)工程師。其實不難看相關(guān)崗位按照當前的潮流趨勢依然會以技術(shù)開發(fā)方向為主。俗話常說“興趣是最好的老師”生活就要把興趣和工作結(jié)合起來,做自己感興趣的事[4]招聘者可通過制作的圖表直觀獲得自己是否適合相關(guān)崗位的判斷。在保證高效篩選工作崗位的同時,也能獲得最為主觀的感受。

        圖1 崗位占比(左)和企業(yè)類型圖(右)

        在企業(yè)類型分布圖當中排名前五的類型分別是民營公司、上市公司、外企、合資和國企,而民營公司又以絕對性的市場占比力壓其他三者,可以看出在相關(guān)的技術(shù)領(lǐng)域民營公司對于新技術(shù)和對于人才的渴望是比較強烈的。

        6.2 薪資同學(xué)歷與地區(qū)之間的關(guān)系

        相信無論是在傳統(tǒng)行業(yè)還是新興行業(yè),影響基本工資的因素主要有:職稱學(xué)歷、工齡、工作技能、工作量和職位差別等[5]這也合乎大家對于行業(yè)的傳統(tǒng)認知。通過圖2 可以很清楚看出由于學(xué)歷不同帶來的收入差距,這也解釋了這幾年以來為什么報考研究生的人數(shù)在不斷攀升的原因,每一個人都希望通過提升學(xué)歷來讓自己的薪資水平有一個質(zhì)的提升。以圖2 來看許多的公司都會以高額的薪資水平(本圖達到19.50 千/月)去吸引高級人才,其行業(yè)的熱門程度不言而喻。因為Python 語言由于其自身特點,在很多領(lǐng)域都非常優(yōu)秀,是一門真正的全棧語言。對于未來人工智能領(lǐng)域的發(fā)展,Python 語言會繼續(xù)發(fā)揮其不可代替的作用,推進信息時代的持續(xù)發(fā)展。[6]

        圖2 薪資同學(xué)歷與地區(qū)之間的關(guān)系

        通過圖2 也可以清晰看出相關(guān)崗位招聘最多的城市分別為:上海、深圳、廣州、北京和南京。北京、上海、廣州、深圳(北上廣深)作為我國最發(fā)達的城市,具有經(jīng)濟高速發(fā)展的獨特優(yōu)勢[7]。上海作為我國最早一批對外開放港口的城市,對于經(jīng)濟的影響力不言而喻,而支撐深厚經(jīng)濟基礎(chǔ)的必然是新技術(shù)、新發(fā)展、新產(chǎn)業(yè)和高技術(shù)人才。深圳和廣州都處在沿海地區(qū)對外和對內(nèi)貿(mào)易的交接口,隨著廣州貿(mào)易業(yè)務(wù)的不斷升級和深圳高科技創(chuàng)新金融產(chǎn)業(yè)的發(fā)展高級技術(shù)人才的需要必然也是剛需。所以緊靠著沿海城市和行業(yè)大公司落地較多的上海對于年輕人來說都是很理想的求職地選擇,剛好也是招聘發(fā)布最多的地方。

        7 結(jié)束語

        本文基于selenium 庫再結(jié)合Google Chrome 實現(xiàn)了對于招聘網(wǎng)站51Job 中與Python 技術(shù)相關(guān)職業(yè)崗位的爬取。通過數(shù)據(jù)的相關(guān)清洗和制圖模塊完成了數(shù)據(jù)可視化工作。對崗位占比、企業(yè)類型、薪資與學(xué)歷和崗位需求量與薪資之間的關(guān)系進行了相關(guān)的分析和結(jié)論總結(jié),對于招聘者有著一定的輔助決策的作用。

        猜你喜歡
        可視化信息
        自然資源可視化決策系統(tǒng)
        北京測繪(2022年6期)2022-08-01 09:19:06
        思維可視化
        師道·教研(2022年1期)2022-03-12 05:46:47
        基于Power BI的油田注水運行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        自然資源可視化決策系統(tǒng)
        北京測繪(2021年7期)2021-07-28 07:01:18
        基于CGAL和OpenGL的海底地形三維可視化
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        99亚洲乱人伦精品| 农村欧美丰满熟妇xxxx| 爽爽午夜影视窝窝看片| 色欧美与xxxxx| 少妇呻吟一区二区三区| 天堂一区二区三区在线观看视频 | 午夜影院免费观看小视频| 亚洲精品国产成人片| 免费人成无码大片在线观看| 中文字幕天天躁日日躁狠狠| 精品视频手机在线免费观看| 女人18毛片a级毛片| 国内a∨免费播放| a午夜国产一级黄片| 亚洲一区二区自偷自拍另类| 在线亚洲高清揄拍自拍一品区| 久久天天躁狠狠躁夜夜96流白浆| 亚洲AV成人无码天堂| 色播视频在线观看麻豆| 少妇内射兰兰久久| 亚洲制服中文字幕第一区| 在线看片免费人成视久网不卡| 国产精品久久久三级18| 国产精选污视频在线观看| 久久精品性无码一区二区爱爱 | 一区二区视频观看在线| 东京热加勒比国产精品| 中文字幕人妻熟女人妻| 婷婷开心深爱五月天播播| 日韩精品视频免费福利在线观看| 国产精品亚洲二区在线看| 熟女精品视频一区二区三区| AV教师一区高清| 在线观看国产激情免费视频| 国产美女精品视频线免费播放软件| 最新亚洲人成无码网www电影| 国产人成视频免费在线观看| 日本中文字幕婷婷在线| 久久久久香蕉国产线看观看伊| 亚洲国产精品线观看不卡| 亚洲免费一区二区av|