<s id="c2f0n"><noscript id="c2f0n"><i id="c2f0n"></i></noscript></s>

  • <s id="c2f0n"></s>
    <u id="c2f0n"><meter id="c2f0n"></meter></u>
  • <span id="c2f0n"></span>
  • 基于Python爬蟲的職位信息數據分析和可視化系統實現

    推薦人:寫作督導機構 來源: 寫作輔導機構 時間: 2021-04-02 21:18 閱讀:
    論文,畢業論文

    關鍵詞: Python爬蟲;職位信息;數據清洗;可視化;

    摘要: 為了能更加直觀地了解到國內大數據有關的職業對學歷和工作經驗的具體要求以及不同性質企業地區分布等情況,采用Python的數據分析和處理功能,通過Python爬蟲技術爬取前程無憂網大量職位信息。按照刪除有空值的信息、與大數據無關的職業、信息錯位的數據清洗方法,對數據進行預處理,然后將清洗后的數據存入數據庫,再利用Pyecharts對數據進行可視化分析,用Flask作為Web框架開發Web應用程序,將可視化的數據展示在網頁,提高了用戶查詢信息的速度,方便求職者找到適合且滿意的職位。

    1. 引言

    在這個新時代,人們根據現有的職位信息數據分析系統得到的職位信息越來越碎片化,面對收集到的大量的職位信息數據難以迅速地篩選出對自己最有幫助的職位信息,又或者篩選出信息后不能直觀地看到數據的特征、一般規律、變化的趨勢或者數據之間潛在聯系。本文致力于解決將獲取到的數據進行有效的篩選和從多個角度可視化分析,借助Python爬蟲技術模擬瀏覽器訪問職業信息網站,爬取大量數據,用Pandas實現數據清洗,用Pyecharts實現數據可視化,用其提供的較為輕量級的Flask框架將可視化結果呈現在Web頁面。前端實現采用了Html、CSS、JavaScripts,完成了用戶和系統之間的交互 [2]。

    2. 總體設計

    基于Python + Pyecharts + Flask的職位信息可視化系統設計與實現,要求實現數據爬取功能,數據清洗功能,數據可視化功能。實現對前程無憂職位信息的數據采集、清洗后存入Excel表中,再推送至MySQL數據庫中,結合Pyecharts組件,實現數據到可視化圖表的轉換,后臺采用Flask框架實現接口功能,將可視化的圖表推送至前端。用戶登錄注冊后在首頁面上可查看Excel表中數據詳情以及可視化后的圖表信息。將近期發布的招聘信息存入MySQL數據庫中,顯示在首頁,可供用戶簡單搜索,查看詳情。簡單系統總體架構設計如圖1所示。

    3. 詳細設計

    3.1. 數據獲取

    爬取前程無憂網站大數據職位相關數據,防止不是通過瀏覽器正常訪問會被網站禁止訪問的問題,手動在header里加上UA屬性,偽裝成瀏覽器進行訪問 [3]。打開網頁開發者模式,進入Network里的Headers找到自己瀏覽器的UA屬性,構造header方法如下:

    header={

    (1)'Host':需要訪問的網站信息,

    (2) 加入訪問請求,

    (3) 'User-Agent':瀏覽器的UA屬性} [4]。

    接收到URL地址的HTML頁面后采用正則表達式進行匹配字符串利用雙層循環來實現換頁爬取與換行輸出 [5] [6],獲取數據,保存到Excel表格中。

    Figure 1. Overall architecture design of the system

    圖1. 系統總體架構設計圖

    3.2. 數據清洗

    數據清洗部分利用pandas從Excel表格中讀取原始數據并對其進行清洗,操作過程如下:

    step 1:讀取文件;

    step 2:刪除所有空值行;

    step 3:for循環遍歷:

    3.1判斷職位是否為“大數據”相關職業,如果是,則保留,如果否,則整行刪除;

    3.2判斷信息是否匹配,如果是,則保留,如果否,則整行刪除;

    3.3判斷薪資單位是否為萬/月,如果是,則保留,如果否,則轉化為萬/月。

    清洗算法設計流程圖如下圖2所示。

    Figure 2. Flow chart of cleaning algorithm

    圖2. 清洗算法流程圖

    數據清洗完畢后將其保存到新的Excel表格中,導入MySQL數據庫中 [7] [8]。爬取了超過10,000條數據,清洗后有近4000條數據,整理后的部分數據如下表1所示。

     

    Table 1. Summarizes some of the data

    表1. 整理后部分數據

    3.3. 數據分析與可視化

    3.3.1. 數據分析

    清洗后的表格職位信息應全是大數據相關的職業,表格信息還包括公司名稱,公司地點,公司性質,薪資,學歷要求,公司福利以及公司招聘發布時間且信息全部對應正確。求職者想要找到合適的職位,需要對各招聘公司的學歷要求,工作經驗要求,公司性質、所處地區進行可視化分析。了解哪些性質的公司在招聘人才,何種性質的公司對人才需求最多,分析公司招聘何種學歷和工作經驗的人才更為普遍,也就是求職者應達到的最基本的要求。此外,對招聘公司所處地區經濟是否發達進行分析,是對公司的發展和經濟實力的預測,方便求職者更準確的做出選擇 [9] [10]。

    3.3.2. 學歷要求玫瑰圖

    對各個企業學歷要求生成玫瑰圖。具體操作如下:

    (1) 讀取文件;

    (2) 創建列表存儲“學歷要求”列信息;

    (3) for循環遍歷列表獲取不同學歷要求值及.count()方法計算其出現次數;

    (4) .key()方法獲取各學歷屬性,.value()方法獲取對應的值,pie.add(),半徑設為rosetype繪制玫瑰圖。

    可視化結果如圖3所示。玫瑰圖的優勢在于能十分直觀的看出不同學歷的占比情況,從圖中不難看出接近七成的企業對學歷的要求都是本科學歷,不超過25%的企業對學歷基本要求是大專,約5%的企業學歷要求是碩士以上,極少數企業學歷要求是高中,和中專學歷,幾乎沒有企業要求中技和初中及以下的學歷。求職者可以根據學歷要求情況去加強自身學習努力達到大多數企業的要求。

    3.3.3. 工作經驗漏斗圖

    對各個企業工作經驗要求生成漏斗圖。與生成玫瑰圖操作類似,具體操作如下:

    (1) 讀取文件;

    (2) 創建列表存儲“工作經驗”列信息;

    (3) for循環遍歷列表獲取不同工作經驗值及.count()方法計算其出現次數;

    (4) .key()方法獲取各工作經驗屬性,.value()方法獲取對應的值,funnel.add()繪制漏斗圖。

    可視化結果如下圖4所示。漏斗圖的優勢在于能十分清晰的看出招聘企業對于工作經驗要求情況,自上而下,逐層減少。從圖中不難看出企業對于3~4年工作經驗是最普遍的要求,對5~7年工作經驗要求的企業數量排第二,絕大多數企業對于工作經驗要求至少是一年,對于在校生和沒有工作經驗的求職者企業也會相應給一些機會,但是不多,較少企業要求求職者有8年以上的經驗。

    Figure 3. Rose chart for education requirements

    圖3. 學歷要求玫瑰圖

    Figure 4. Funnel chart for work experience

    圖4. 工作經驗漏斗圖

    3.3.4. 公司性質餅圖

    分析所有招聘公司的性質。對所有公司性質情況生成了餅圖 [7]。操作方法如下:

    (1) 讀取文件;

    (2) 創建列表存儲“公司性質”列信息;

    (3) for循環遍歷列表獲取不同公司性質值及其出現次數;

    (4) .key()方法獲取各公司性質屬性,.value()方法獲取對應的值,pie.add()繪制餅圖。

    可視化結果如下圖5所示。餅圖的優勢就是可以清晰的看出在整個系統中各種規模的公司占比的權重。由餅圖可以分析出最主流的招聘公司是合資公司,外資公司和民營公司招聘較多,然后是事業單位,上市公司和創業公司數量差不多,但均不足10%,國企占比最少。了解各個公司規模占比可以讓求職者有一個更加清楚的認識,去公司規模占比大的公司求職,成功的可能性更大。

    Figure 5. Pie chart for company nature

    圖5. 公司性質餅圖

    3.3.5. 公司地區分布疊柱狀圖

    對于公司地點分布情況生成疊柱狀圖 [10],分析在經濟較一般的地區和經濟較為發達的地區各種規模公司的數量。根據各地區經濟發展狀況自劃分為較一般和較發達,同樣方法繪制兩個柱狀圖,使用is_stack標簽堆疊將兩個柱狀圖在一起,mark_point標簽標記經濟較一般地區各類型企業數量的平均值,mark_line 標簽標記經濟較發達地區的最小/最大值。

    可視化結果如下圖6所示。疊柱狀圖的優勢就是可以直觀的看到各種規模的公司在兩種地區的數量并形成鮮明的對比。由疊柱狀圖可以明顯看出除創業公司和非營利公司外,其他類型的公司均是分布在經濟較為發達的地區較多。給了求職者明確的地區方向。

    Figure 6. Double bar charts for regional distribution of company

    圖6. 公司地區分布疊柱狀圖

    3.3.6. 人才需求雙折線圖

    對各類型的公司人才錄取要求同樣方法生成雙折線圖 [10]。統計各類企業對學歷有要求和工作經驗有要求的數量。

    可視化結果如下圖7所示。雙折線圖的優勢在于可以清晰的看到各種類型的公司對工作經驗要求和學歷要求的變化趨勢。從圖中可以清晰的看到總體上對于學歷有要求的公司數量明顯要高于工作經驗的要求。

    Figure 7. Double line charts for the talent demand of company

    圖7. 公司人才錄取要求圖

    3.3.7. 職位信息詞云圖

    對于職業信息情況生成詞云圖 [7],由于爬取職位較多,選取15個職位出現頻率最高的職位生成詞云圖給用戶以視覺上的突出,操作如下:

    (1) 讀取文件;

    (2) 創建列表存儲“職位”列信息;

    (3) for循環遍歷列表獲取不同職位值及其出現次數;

    (4) 選取出現次數最高的15個職位wordcloud.add()繪制詞云圖。

    可視化結果如下圖8所示。從詞云圖可以看出企業對于大數據開發工程師需求是最多的。

    Figure 8. Wordcloud chart for job information

    圖8. 職位信息詞云圖

    4. 基于Flask的web功能實現

    通過使用Flask的route()裝飾器用于把一個函數綁定到一個URL,函數名稱用于生成相關聯的URL,并返回需要在用戶瀏覽器中顯示的信息。在首頁HTML文件中,引用URL實現將可視化呈現在web頁面 [11] [12]。

    分別點擊公司類型分布、公司規模、人才要求、學歷要求、職位信息詞云、工作經驗要求按鈕頁面將跳轉到相應的上述可視化圖表頁面,點擊詳情按鈕,將顯示數據清洗后的Excel表,將近期發布的招聘信息存入MySQL數據庫中,顯示在首頁,可供用戶簡單搜索,查看詳情。如下圖9所示。與既有的研究成果比較,系統能較簡潔直觀的滿足用戶的基本需求。

    Figure 9. First page figure

    圖9. 首頁面圖

    5. 總結

    利用python設計實現了職位信息數據分析和可視化系統,對前程無憂職位信息數據的爬取、清洗和可視化,實現了數據像圖表的轉化,使數據更有價值,并利用Flask框架實現將可視化結果呈現在web頁面上,將各種數據以圖表的形式呈現給用戶,使繁多的數據變得直觀,用戶能夠容易發掘隱藏的數據關聯,篩選出對自己最有利的信息,做出最好的選擇,此外,從多種角度進行分析,不同數據進行各不相同的可視化,利用不同可視化圖表的優點,最大程度地展現數據的特征,能夠給用戶帶來更清晰直觀的體驗。

    參考文獻

    [1] 高巍, 孫盼盼, 李大舟. 基于Python 爬蟲的電影數據可視化分析[J].沈陽化工大學學報, 2020(1): 73-78.
    [2] 曾誠. 基于Python的網絡爬蟲及數據可視化和預測分析[J]. 信息與電腦(理論版), 2020(9): 167-169.
    [3] 黃岷昊, 丁浪, 張雪蓮. 基于Python的網絡爬蟲及文本可視化[J]. 電腦編程技巧與維護, 2020(7): 24-25.
    [4] 陳清. 基于Python的網站爬蟲應用研究[J]. 通訊世界, 2020, 27(1): 202-203.
    [5] 劉鑫. 網絡爬蟲在信息檢索中的研究與應用[J]. 數字技術與應用, 2017(5): 95-97.
    [6] 熊暢. 基于Python爬蟲技術的網頁數據抓取與分析研究[J]. 數字技術與應用, 2017(9): 35-36.
    [7] 賈檸瑜. 基于python爬蟲的崗位數據分析——以拉勾網為例[J]. 信息技術與信息化, 2019(4): 64-66.
    [8] 詹靜瀟. 關于網絡招聘信息的數據挖掘分析[D]: [碩士學位論文]. 天津: 天津財經大學, 2018.
    [9] 何佳, 惠建忠, 王曙東, 洪曉媛, 王闊音. Python在CINRAD風暴數據可視化中的應用[J]. 氣象科技, 2020(3): 374-379.
    [10] 劉艷玲, 姚建盛. Python在數據可視化中的應用[J]. 福建電腦, 2020(3): 30-31, 34.
    [11] 王瑞梅. 網絡招聘數據可視化分析系統的設計與實現[D]: [碩士學位論文]. 石家莊: 河北師范大學, 2020.
    [12] 謝勤政. 面向網絡招聘系統的個性化推薦技術研究[D]: [碩士學位論文]. 長沙: 國防科技大學, 2018.

     

    聯系我們

    亚洲国产精品无码久久久久久曰久久久精品国产亚洲成人满18免费网站99久久综合狠狠综合久久最近高清影院免费观看国产亚洲美日韩AV中文字幕无码成人无码国产亚洲日韩国精品视频一区二区三区,欧美日韩在线一区二区国产欧美亚洲精品中文字幕无码专区国产日韩综合不卡免费观看国产精品国产精品国产专区不卡亚洲成a人片在线播放亚洲第一国产综合国产极品精品免费视频能看的福利中文字幕最新永久久久久综合九色合综,97精品国产高清自在线看超日韩精品无码视频免费专区国产一区麻豆剧传媒果冻精品91精品国产福利在线观看麻豆国产在线精品国自产在线91久久中文精品无码中文字幕国产高清在线a视频大全国产精品午夜福利精品国精品四产自在久国产无码一二三四区免费久久久久精品久久久久久亚洲偷窥日本一区欧美国产日韩精品国精品国产AV自在久国产国产精品va免费视频亚洲色一久久久综合网亚洲欧美高清一区二区三区99久久久久精品国产免费日韩一级一欧美一级国产国产成a人片在线观看视频99亚洲综合av一区二区,亚洲国产精品无码第一区无码久久久一区二区三区免费一卡2卡三卡4卡激情短篇少妇系列小说色偷偷亚洲第一综合网国产综合色产在线精品中文字幕亚洲综合小综合,国产精品成人啪精品视频免费网站84sex久久精品国产麻豆无码日韩精品一区二区免费暖暖免费麻花豆传媒剧