• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Python網(wǎng)絡(luò)爬蟲(chóng)和數(shù)據(jù)可視化技術(shù)的某招聘網(wǎng)站數(shù)據(jù)采集與分析

    2021-10-21 08:51:30接輝
    科技信息·學(xué)術(shù)版 2021年15期
    關(guān)鍵詞:詳情頁(yè)爬蟲(chóng)南昌

    接輝

    隨著信息技術(shù)的深入發(fā)展和廣泛應(yīng)用,網(wǎng)絡(luò)平臺(tái)成為各類(lèi)信息發(fā)布和收集的主要渠道。網(wǎng)絡(luò)爬蟲(chóng)作為網(wǎng)絡(luò)數(shù)據(jù)采集的重要技術(shù)手段,已廣泛應(yīng)用于各個(gè)領(lǐng)域。本文使用基于Selenium 技術(shù)的網(wǎng)絡(luò)爬蟲(chóng),從某招聘網(wǎng)站采集到北京、上海、深圳、南昌四個(gè)城市IT行業(yè)招聘信息,使用數(shù)據(jù)可視化技術(shù)進(jìn)行分析研究,得出了一些有益的結(jié)論。本文采用的數(shù)據(jù)采集和可視化分析方法對(duì)于一般研究工作具有普遍的借鑒意義。

    一、相關(guān)技術(shù)

    1.網(wǎng)絡(luò)爬蟲(chóng)

    網(wǎng)絡(luò)爬蟲(chóng)是按一定規(guī)則自動(dòng)抓取互聯(lián)網(wǎng)信息的程序或腳本。在大數(shù)據(jù)時(shí)代,網(wǎng)絡(luò)爬蟲(chóng)是進(jìn)行數(shù)據(jù)收集的有效手段。目前網(wǎng)絡(luò)爬蟲(chóng)一般使用Python語(yǔ)言調(diào)用Requests、BeatifulSoups、Selenium等類(lèi)庫(kù)實(shí)現(xiàn)。

    2.Selenium

    Selenium是一款開(kāi)源的Web應(yīng)用程序測(cè)試工具,可以在瀏覽器中模擬用戶(hù)請(qǐng)求網(wǎng)頁(yè)服務(wù),很難被網(wǎng)站檢測(cè)到,能有效規(guī)避各種反爬蟲(chóng)策略。

    3.SQLite數(shù)據(jù)庫(kù)

    SQLite是一款輕型數(shù)據(jù)庫(kù),占用資源少,支持主流操作系統(tǒng),支持ODBC接口。與一般數(shù)據(jù)庫(kù)不同,SQLite引擎嵌入在程序中,整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)存儲(chǔ)在單一文件中。在很多應(yīng)用場(chǎng)景,它的處理速度優(yōu)于MySQL、PostgreSQL等數(shù)據(jù)庫(kù)。

    二、目標(biāo)網(wǎng)站分析

    本文以某招聘網(wǎng)站為目標(biāo),通過(guò)觀察法分析出網(wǎng)站頁(yè)面間的邏輯關(guān)系。

    1.首頁(yè)與登錄頁(yè)

    使用FireFox瀏覽器打開(kāi)網(wǎng)站首頁(yè)(https://www.zhaopin.com/),找到用戶(hù)注冊(cè)登錄頁(yè)面(https://passport.zhaopin.com/login)。注冊(cè)后返回首頁(yè),選擇用戶(hù)名、密碼方式登錄。

    2.職位搜索頁(yè)

    登錄后,進(jìn)入“職位搜索”頁(yè),可以輸入關(guān)鍵詞搜索職位,還可以選擇不同的城市、職位類(lèi)別、公司行業(yè)以及列表的頁(yè)碼等。本文選擇自己關(guān)心的城市、行業(yè)和頁(yè)碼,發(fā)現(xiàn)隨著選擇的不同地址欄中鏈接的參數(shù)也會(huì)發(fā)生變化。比如城市選擇南昌時(shí)jl=691,行業(yè)選擇電子商務(wù)時(shí)in=100020000,頁(yè)面選擇第2頁(yè)p=2,瀏覽器地址欄中的鏈接變?yōu)閔ttps://sou.zhaopin.com/?jl=691&in=100020000&p=3。

    3.職位詳情頁(yè)

    在職位搜索頁(yè)列表中,可以看到職位名稱(chēng)、公司名稱(chēng)、工資待遇、崗位要求等基本信息。查看職位詳細(xì)信息需要進(jìn)入詳情頁(yè)。在職位搜索列表頁(yè),使用瀏覽器檢查工具可以找到詳情頁(yè)的鏈接地址信息(https://jobs.zhaopin.com/后加一個(gè)無(wú)規(guī)律的html文件名)。

    在詳情頁(yè)中,右鍵點(diǎn)擊詳細(xì)信息進(jìn)入“檢查”菜單,可以找到職位描述等文字信息所在的頁(yè)面元素。

    三、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    根據(jù)對(duì)網(wǎng)站的分析,系統(tǒng)可分為頁(yè)面解析、數(shù)據(jù)采集與存儲(chǔ)、數(shù)據(jù)可視化分析三個(gè)模塊。

    1.頁(yè)面解析模塊

    在這個(gè)模塊中,主要實(shí)現(xiàn)網(wǎng)頁(yè)加載和頁(yè)面結(jié)構(gòu)解析與元素定位。

    通過(guò)前文分析可知,我們需要加載和解析的頁(yè)面主要是登錄頁(yè)、職位搜索頁(yè)和職位詳情頁(yè),相關(guān)頁(yè)面的鏈接在分析中已經(jīng)獲取。我們可以使用browser = selenium.webdriver.Firefox()方法加載火狐瀏覽器的驅(qū)動(dòng)程序,然后通過(guò)其browser.get(url)方法,獲取鏈接url對(duì)應(yīng)的頁(yè)面。

    首先實(shí)現(xiàn)頁(yè)面自動(dòng)登錄。通過(guò)browser.get(“https://passport.zhaopin.com/login”),獲取登錄頁(yè)。在登錄頁(yè)的中,分別找到用戶(hù)名、密碼所在的位置點(diǎn)擊鼠標(biāo)右鍵,選擇“檢查”菜單;在檢查頁(yè)面中相應(yīng)的頁(yè)面元素上點(diǎn)擊右鍵,復(fù)制XPath;將復(fù)制的XPath作為參數(shù),通過(guò) browser.find_elements_by_xpath(XPath)方法獲取輸入用戶(hù)名、密碼的網(wǎng)頁(yè)元素,調(diào)用sendkeys()方法將用戶(hù)名、密碼分別傳送給瀏覽器,模擬用戶(hù)輸入用戶(hù)名和密碼;再用同樣的方法獲取“登錄”按鈕所在的網(wǎng)頁(yè)元素,調(diào)用click()方法模擬用戶(hù)點(diǎn)擊登錄。登錄時(shí),如遇圖片滑塊驗(yàn)證,可手動(dòng)操作(只需在爬蟲(chóng)開(kāi)始運(yùn)行時(shí)操作一次)。

    用同樣的方法可以獲取職位搜素列表頁(yè)和職位詳情頁(yè)。

    2.數(shù)據(jù)采集與存儲(chǔ)模塊

    完成網(wǎng)頁(yè)解析后,使用Selenium類(lèi)庫(kù)函數(shù)定位到需要的網(wǎng)頁(yè)元素,訪(fǎng)問(wèn)其text屬性即可獲取相應(yīng)的數(shù)據(jù)。通過(guò)這種方式可獲取職位名稱(chēng)、公司名稱(chēng)、工資待遇、崗位職責(zé)、技能要求、詳細(xì)描述等信息。

    在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),使用sqlite3.connect()方法獲取數(shù)據(jù)庫(kù)連接,再調(diào)用其cursor().execute(sql)方法,執(zhí)行相應(yīng)的sql語(yǔ)句即可。

    程序執(zhí)行時(shí),容易被網(wǎng)頁(yè)錯(cuò)誤、數(shù)據(jù)庫(kù)錯(cuò)誤打斷,影響數(shù)據(jù)采集效率??蓪⒕W(wǎng)頁(yè)獲取、數(shù)據(jù)庫(kù)讀寫(xiě)操作放在try...except語(yǔ)句中,對(duì)產(chǎn)生的異常進(jìn)行處理;同時(shí)將try...except語(yǔ)句塊放在循環(huán)語(yǔ)句中,循環(huán)重試若干次后如仍異常則記錄錯(cuò)誤并跳過(guò)當(dāng)前頁(yè)面,繼續(xù)采集后續(xù)頁(yè)面。

    3.可視化分析模塊

    筆者發(fā)現(xiàn),因網(wǎng)站限制,每個(gè)細(xì)分行業(yè)只能查詢(xún)到34頁(yè)共1020條招聘信息。北京、上海、深圳的實(shí)際數(shù)據(jù)超過(guò)了這個(gè)數(shù)量,不適合進(jìn)行招聘職位的行業(yè)分布分析;南昌沒(méi)有達(dá)到這個(gè)限額,不受影響。

    在工資收入方面,一般來(lái)說(shuō)招聘信息中的下限值比較接近真實(shí)收入情況。

    根據(jù)上述特點(diǎn),本文從四個(gè)城市的行業(yè)平均工資、招聘數(shù)量行業(yè)分布、職位平均工資三個(gè)方面,使用Python的matplotlib類(lèi)庫(kù)的數(shù)據(jù)可視化方法,分別以下列條形圖、餅狀圖的形式進(jìn)行展示。

    四、總結(jié)

    根據(jù)上述分析,可以得出以下結(jié)論:

    1.南昌IT行業(yè)總體工資水平和行業(yè)間差異低于北京、上海和深圳等一線(xiàn)城市。這與南昌社會(huì)經(jīng)濟(jì)情況是一致的。

    2.南昌IT行業(yè)中,企業(yè)服務(wù)和電子商務(wù)方向就業(yè)機(jī)會(huì)最多、工資水平較低。說(shuō)明這兩個(gè)方向發(fā)展成熟、運(yùn)行平穩(wěn)。

    3.一線(xiàn)城市在線(xiàn)醫(yī)療、人工智能方向收入較高,但在南昌工資優(yōu)勢(shì)不明顯且招聘數(shù)量不多。說(shuō)明南昌這兩個(gè)方向發(fā)展較弱。

    4.在線(xiàn)教育方向城市間收入差距較小。說(shuō)明教育是剛性需求,在一般城市在線(xiàn)教育行業(yè)同樣有較好的發(fā)展機(jī)會(huì)。

    猜你喜歡
    詳情頁(yè)爬蟲(chóng)南昌
    跨境電商背景下廣西工藝品詳情頁(yè)優(yōu)化技巧
    利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
    我在南昌 你在哪
    心聲歌刊(2022年3期)2022-06-06 06:31:42
    南昌是我 南昌是你
    心聲歌刊(2022年3期)2022-06-06 06:31:42
    基于Python的網(wǎng)絡(luò)爬蟲(chóng)和反爬蟲(chóng)技術(shù)研究
    南昌航空工業(yè)城
    教練機(jī)(2021年3期)2021-02-21 06:03:04
    淺析消費(fèi)心理下商品無(wú)線(xiàn)端詳情頁(yè)優(yōu)化策略
    絲路視野(2019年31期)2019-05-09 13:45:32
    利用爬蟲(chóng)技術(shù)的Geo-Gnutel la VANET流量采集
    大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)
    電子制作(2017年9期)2017-04-17 03:00:46
    店鋪詳情頁(yè)裝修那些事
    神木县| 基隆市| 惠水县| 邢台县| 湖南省| 鄂托克前旗| 溧水县| 台江县| 佛坪县| 巴里| 枝江市| 贡嘎县| 博白县| 横山县| 宁河县| 绍兴市| 扬州市| 繁昌县| 蛟河市| 迁西县| 和政县| 太白县| 开封市| 周宁县| 大港区| 绥江县| 刚察县| 宝鸡市| 水富县| 北辰区| 晋州市| 嫩江县| 来安县| 许昌市| 高要市| 穆棱市| 长春市| 蕉岭县| 奉节县| 和田县| 衡水市|