• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于微信小程序的求職招聘系統(tǒng)的設(shè)計

      2022-05-30 10:48:04圣立明李超常京
      電腦知識與技術(shù) 2022年31期
      關(guān)鍵詞:求職微信小程序爬蟲

      圣立明 李超 常京

      摘要:相對于傳統(tǒng)的線下求職模式,線上求職招聘具有很大的優(yōu)勢。它打破了傳統(tǒng)招聘方式對時間和地域的限制,降低了求職招聘的成本,擴(kuò)大了招聘范圍?;诖?,開發(fā)了基于微信小程序的求職招聘系統(tǒng),客戶端使用微信小程序,服務(wù)端使用Java開發(fā)框架SpringBoot+MyBatis-Plus,同時,采用Python的Scrapy網(wǎng)絡(luò)爬蟲框架對多個企業(yè)招聘網(wǎng)站進(jìn)行職位信息爬取,提供更加豐富最新的職位信息,為求職招聘提供便利。

      關(guān)鍵詞:微信小程序;求職;Java;爬蟲

      中圖分類號:TP311 ? ? ?文獻(xiàn)標(biāo)識碼:A

      文章編號:1009-3044(2022)31-0049-04

      1 概述

      隨著科技的發(fā)展,互聯(lián)網(wǎng)的開發(fā)與綜合應(yīng)用已經(jīng)逐漸深入人心[1],加之新冠肺炎疫情的反反復(fù)復(fù),對招聘行業(yè)產(chǎn)生了比較大的影響,其中2020年線上招聘以108億的市場規(guī)模成為招聘行業(yè)的主流方式。

      線上網(wǎng)絡(luò)招聘打破了傳統(tǒng)招聘方式的很多不足,將招聘工作流程網(wǎng)絡(luò)化,有效減少了公司人事部門的工作量,提高了工作效率[2]。同時,也為求職者提供了多樣性的崗位選擇,節(jié)省了時間和成本。

      微信小程序是一種在微信平臺上開發(fā)應(yīng)用系統(tǒng)的新技術(shù),2017年上線到現(xiàn)在,已經(jīng)擁有龐大的應(yīng)用開發(fā)數(shù)量[3]。

      基于此,開發(fā)一個微信小程序的求職招聘系統(tǒng)。求職者登錄小程序進(jìn)行職位篩選、簡歷投遞、與HR溝通,公司HR登錄系統(tǒng)進(jìn)行簡歷篩選,聯(lián)系感興趣求職者,使得企業(yè)可以更加方便快捷找到適合自己的人才,求職者能夠根據(jù)自身的需求獲得適合自己的崗位。

      2 系統(tǒng)架構(gòu)

      本系統(tǒng)架構(gòu)如圖1所示。

      前端使用的是微信小程序開發(fā),相比于傳統(tǒng)的App開發(fā),它依托微信App,不需要下載安裝即可直接使用,用戶掃一掃或者在微信搜一下就可以打開應(yīng)用, 開發(fā)適配成本低,可以實(shí)現(xiàn)跨平臺操作,無論是何種操作系統(tǒng)或者手機(jī)型號,微信小程序?qū)崿F(xiàn)了平臺的適配,開發(fā)者只需要按照開發(fā)文檔來做即可。同時,微信上會有用戶使用過的小程序記錄,這樣加大了用戶對小程序的依賴,既實(shí)現(xiàn)對應(yīng)用的觸手可及,又實(shí)現(xiàn)了對手機(jī)內(nèi)存的節(jié)省[4]。經(jīng)過近幾年的發(fā)展,微信小程序已經(jīng)擁有海量用戶,其應(yīng)用已經(jīng)覆蓋了多個行業(yè)。

      后端使用的是Java開發(fā)框架SpringBoot+MyBatis-Plus,自動配置,簡化開發(fā)[5],節(jié)省了許多傳統(tǒng)Spring框架需要的xml配置文件,減少了冗余代碼,MyBatis-Plus則是MyBatis的增強(qiáng)版,在MyBatis的基礎(chǔ)上只做增強(qiáng)不做改變,為簡化開發(fā),提供效率而生。

      數(shù)據(jù)庫使用的是MySQL數(shù)據(jù)庫,作為當(dāng)下主流的關(guān)系型數(shù)據(jù)庫,技術(shù)成熟,開源免費(fèi),使用方便。

      同時,采用Python的Scrapy網(wǎng)絡(luò)爬蟲框架對多個招聘網(wǎng)站進(jìn)行職位信息抓取、解析、存儲,并使用Python定時任務(wù)框架APScheduler實(shí)現(xiàn)自動定時爬取數(shù)據(jù),盡可能及時更新相關(guān)職位的最新消息。

      3 系統(tǒng)設(shè)計與實(shí)現(xiàn)

      3.1 系統(tǒng)功能介紹

      本次開發(fā)的求職應(yīng)聘小程序主要服務(wù)于求職者和公司HR,主要功能有:

      1) 小程序登錄功能

      對于系統(tǒng)每一位登錄用戶都應(yīng)該有屬于自己的唯一憑證,系統(tǒng)通過該憑證來識別不同的用戶,同時判斷用戶是否有權(quán)限進(jìn)行招人,也可以限制與個人信息相關(guān)的功能只有在登錄狀態(tài)下才可使用,從而保證個人信息安全。

      2) 職位搜索功能

      職位搜索功能是一個開放的功能,不要求一定要登錄之后才可訪問,求職者可以在這里瀏覽職位。

      3) 簡歷管理功能

      求職者登錄后,可以通過此功能對自己創(chuàng)建的簡歷進(jìn)行增加、修改、查詢、刪除操作。創(chuàng)建簡歷時,可以設(shè)置簡歷的狀態(tài)為公開或者私有,公開的簡歷可以被所有HR查看到,而私有的簡歷只有自己才能查看;查詢簡歷時,如果簡歷有被HR收藏并設(shè)置興趣指數(shù),求職者也可以查看到HR對自己簡歷的興趣指數(shù),看看自己的簡歷是否受歡迎。

      4) 投遞簡歷功能

      求職者在找到合適的職位并登錄后,可以選擇簡歷進(jìn)行投遞。

      5) 投遞記錄查詢功能

      求職者登錄之后,可以對自己投遞過的職位記錄進(jìn)行查看。

      6) 收藏簡歷功能

      該功能是服務(wù)公司HR的,需要HR登錄之后才可以使用,HR可以在公共簡歷池中瀏覽簡歷,可以對自己感興趣的簡歷進(jìn)行收藏,并設(shè)置一個興趣指數(shù),反饋給求職者。

      7) 設(shè)置簡歷興趣指數(shù)

      該功能也是服務(wù)HR的,需要HR登錄之后才可以使用,HR可以在收藏夾中查看自己收藏的簡歷與對應(yīng)的興趣指數(shù),也可以對簡歷重新設(shè)置興趣指數(shù),對已經(jīng)不感興趣的簡歷也可以進(jìn)行取消收藏的操作,同時也可以查看對應(yīng)簡歷的詳細(xì)信息。

      該小程序的整體功能結(jié)構(gòu)如圖2所示。

      3.2 前端頁面設(shè)計

      前端采用微信小程序原生MINA框架,該小程序共包含11個頁面,其中3個tarBar頁面(首頁、求職、我的),如表1所示。

      1) 首頁設(shè)計

      主要有輪播圖區(qū)域與招聘企業(yè)區(qū)域兩塊區(qū)域,其中輪播圖部分采用swiper組件實(shí)現(xiàn),在js文件中調(diào)用后端API接口獲取輪播圖數(shù)據(jù),使用setData()方法將獲取到的數(shù)據(jù)保存到data中,最后使用模板語法將數(shù)據(jù)渲染到wxml頁面,數(shù)據(jù)獲取、保存、渲染核心代碼如下:

      //js數(shù)據(jù)獲取與保存:

      wx.request({

      url: 'http://127.0.0.1:4021/api/v1/recruit/banners',

      method: "GET",

      success: (res) => {

      this.setData({

      bannerList: res.data.data.bannerList

      })

      }})

      //wxml頁面渲染:

      招聘企業(yè)信息部分則采用flex布局實(shí)現(xiàn),結(jié)合navigator組件實(shí)現(xiàn)點(diǎn)擊跳轉(zhuǎn)到相應(yīng)招聘企業(yè)的職位搜索頁面,數(shù)據(jù)獲取、保存、渲染都與輪播圖部分的實(shí)現(xiàn)方式一致。

      2) 個人中心頁(我的)的頁面設(shè)計

      該頁面先渲染了登錄按鈕,用戶點(diǎn)擊登錄按鈕后,可以選擇進(jìn)行求職或者招聘的操作,然后請求后端登錄接口進(jìn)行權(quán)限驗(yàn)證,根據(jù)用戶是否屬于某企業(yè),只有公司HR才可以進(jìn)行招聘操作,通過權(quán)限驗(yàn)證之后,會調(diào)用wx.getUserProfile與wx.setStorge方法獲取并保存用戶個人信息到數(shù)據(jù)緩存中。

      系統(tǒng)根據(jù)不同角色去動態(tài)渲染不一樣的導(dǎo)航欄,若是公司HR,則動態(tài)渲染公司HR的導(dǎo)航欄,包括“簡歷”與“我的”,我的頁面有“收藏夾”功能;若是求職者,則動態(tài)渲染求職者的導(dǎo)航欄,包括“首頁”“求職”與“我的”,我的頁面有“我的簡歷”與“投遞記錄”功能。

      對于不同的用戶登錄小程序,如果只使用微信提供的wx.getUserProfile方法,只能夠獲取登錄用戶的個人信息,考慮到隨著用戶劇增,難免會出現(xiàn)用戶重名,從而導(dǎo)致出現(xiàn)同名用戶對同一份個人信息數(shù)據(jù)進(jìn)行操作,進(jìn)而出現(xiàn)數(shù)據(jù)不一致的情況。本系統(tǒng)增加調(diào)用微信提供的wx.login方法,并且在后端服務(wù)器中通過code臨時登錄憑證去請求用戶接口,換取用戶的唯一憑證與會話密鑰,在小程序上根據(jù)token區(qū)別不同用戶,在后端中根據(jù)唯一憑證區(qū)別不同用戶。用戶的個人信息通過wx.setStorge方法保存到數(shù)據(jù)緩存中。

      3.3 后端以及數(shù)據(jù)庫的設(shè)計

      本系統(tǒng)采用三層架構(gòu)作為招聘系統(tǒng)的基本框架。

      1) 控制層

      與前端進(jìn)行數(shù)據(jù)交互,小程序通過wx.request向后端API接口發(fā)起請求,控制層則負(fù)責(zé)接收請求,并做出響應(yīng)返回給小程序,其間的請求處理都是交予服務(wù)層去實(shí)現(xiàn)的。

      2) 業(yè)務(wù)層

      業(yè)務(wù)層主要進(jìn)行業(yè)務(wù)處理請求,比如從小程序傳遞來的數(shù)據(jù)格式與數(shù)據(jù)庫所需格式不匹配時,則需要對傳遞來的數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換與數(shù)據(jù)庫匹配等。

      3) 數(shù)據(jù)層

      數(shù)據(jù)層主要是與數(shù)據(jù)庫進(jìn)行交互,比如需要根據(jù)投遞記錄ID查詢投遞記錄信息,查詢投遞記錄信息,包括職位信息、簡歷信息,則需要查詢數(shù)據(jù)庫中record、resume、position三張表就可以通過數(shù)據(jù)層實(shí)現(xiàn)。

      數(shù)據(jù)庫采用的是MySQL數(shù)據(jù)庫,共設(shè)計了8張表,主要包括用戶信息、簡歷信息、職位信息、投遞記錄、企業(yè)信息、企業(yè)HR信息、收藏信息、輪播圖信息共八個實(shí)體對象。

      該系統(tǒng)職位信息的提供通過Python的Scrapy框架爬取獲取,Scrapy作為一個開源免費(fèi)的爬蟲框架速度快,功能強(qiáng)大,能提供結(jié)構(gòu)性數(shù)據(jù)。其中Items負(fù)責(zé)需要抓取的數(shù)據(jù)項(xiàng),Spider負(fù)責(zé)抓取與解析數(shù)據(jù),在Pipelines中設(shè)計管道對數(shù)據(jù)進(jìn)行清洗并存儲爬取內(nèi)容。同時,通過Python的APScheduler定時器框架實(shí)現(xiàn)自動定時爬取,關(guān)鍵代碼如下:

      def start_scrapy():

      sys.path.append(os.path.dirname(os.path.abspath(__file__)))

      subprocess.run("scrapy crawlall".split(), shell=True)

      def set_crawlCycle(dayNum):

      # 一天有86400s

      return float(dayNum)*86400

      if __name__ == '__main__':

      scheduler = BlockingScheduler(timezone='Asia/Shanghai')

      # 設(shè)置爬取周期

      cycle = input("設(shè)置自動定時爬取周期:")

      scheduler.add_job(start_scrapy, 'interval', seconds=set_crawlCycle(cycle))

      scheduler.start()

      3.4 部分功能設(shè)計實(shí)現(xiàn)

      1) 職位搜索以及投遞功能

      包含搜索框與結(jié)果列表兩大區(qū)域,在不輸入搜索條件時,會顯示所有職位信息;輸入搜索條件后,會根據(jù)條件對職位信息進(jìn)行篩選后再顯示,效果如圖3所示:

      點(diǎn)擊“申請”按鈕后,進(jìn)入選擇簡歷頁面,選擇一份簡歷后,點(diǎn)擊“投遞”按鈕,進(jìn)行簡歷投遞,投遞成功會彈窗提示用戶,然后跳轉(zhuǎn)到投遞記錄列表頁,選擇簡歷頁面彈窗提示效果圖如圖4所示。

      2) 個人中心功能

      點(diǎn)擊登錄按鈕,會彈出選擇登錄角色的選擇框,選擇角色經(jīng)過后端權(quán)限驗(yàn)證后,會彈窗詢問是否授權(quán)獲取信息,允許后,若是求職者登錄小程序,可以查看“我的簡歷”與“投遞記錄”等信息;若是HR登錄小程序,可以查看“收藏夾”信息,導(dǎo)航欄也會動態(tài)切換到HR的導(dǎo)航欄信息,求職者與HR登錄后的效果圖如圖5所示。

      3) 興趣指數(shù)設(shè)置功能

      HR可以尋找自己滿意的簡歷信息進(jìn)行收藏操作,效果圖如圖6所示。

      同時,公司HR在登錄系統(tǒng)后也可以通過點(diǎn)擊“收藏夾”可以跳轉(zhuǎn)到收藏夾頁面,頁面包含每項(xiàng)簡歷信息,可以對簡歷進(jìn)行重新設(shè)置興趣指數(shù)。

      4 結(jié)束語

      基于微信小程序的求職招聘系統(tǒng)降低了求職招聘的成本,使得公司HR部門可以更加方便快捷找到適合自己的人才,而求職者能夠根據(jù)自身的需求篩選出合適的工作崗位。

      本系統(tǒng)程序頁面設(shè)計豐富,樣式精美,交互性好,具有良好的容錯性,前端采用微信小程序,后端使用SpringBoot+MyBatis-Plus搭建,耦合度低,API接口地址豐富,功能完備,程序前后端交互。同時,相對比其他求職應(yīng)聘的小程序,本小程序有更加優(yōu)質(zhì)的職位信息資源,數(shù)據(jù)來源豐富可靠,通過Python網(wǎng)絡(luò)爬蟲定時對各企業(yè)招聘信息進(jìn)行爬取,能及時更新相關(guān)職位的最新消息,具有實(shí)際應(yīng)用意義。

      參考文獻(xiàn):

      [1] 董彥喆,熊琴,王夢琪.大數(shù)據(jù)時代我國網(wǎng)絡(luò)招聘研究綜述[J].中國市場,2021(7):82-84.

      [2] 唐韻清,王一諾,馬瑞,等.基于Web的網(wǎng)上求職招聘系統(tǒng)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(6):29-31.

      [3] 高洪濤.從零開始學(xué)微信小程序開發(fā)[M].北京:電子工業(yè)出版社,2017.

      [4] 微信公眾平臺開發(fā)者文檔[EB/OL].[2021-12-23].https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html.

      [5] Cay S.Java核心技術(shù)(卷2) :高級特性(原書第9版)[M].北京:機(jī)械工業(yè)出版社,2014.

      【通聯(lián)編輯:謝媛媛】

      收稿日期:2022-05-15

      基金項(xiàng)目:2022年廣州城市理工學(xué)院教學(xué)質(zhì)量與教學(xué)改革工程(課程類)項(xiàng)目

      作者簡介:圣立明(1985—) ,女,廣東廣州人,助教,碩士,研究方向?yàn)橛嬎銠C(jī)應(yīng)用技術(shù);李超(2000—) ,男,廣東廣州人,本科在讀,研究方向?yàn)檐浖_發(fā);常京(1985—) ,女,廣東廣州人,助教,碩士,研究方向?yàn)檐浖_發(fā)。

      猜你喜歡
      求職微信小程序爬蟲
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      信息技術(shù)與專業(yè)課程融合路徑探索
      決策探索(2017年12期)2017-07-13 11:11:12
      當(dāng)圖書館遇上微信小程序
      圖書與情報(2016年6期)2017-04-17 23:54:02
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      論信息可視化設(shè)計在個人簡歷中的應(yīng)用
      高校畢業(yè)生如何應(yīng)對求職過程中的筆試
      就業(yè)形勢下大學(xué)生簡歷共享平臺模式的研究
      試論社交禮儀對大學(xué)生就業(yè)的影響
      科技視界(2015年27期)2015-10-08 11:31:00
      东源县| 汉中市| 武强县| 恭城| 蓬莱市| 达拉特旗| 江陵县| 定结县| 延边| 白水县| 哈巴河县| 左贡县| 略阳县| 吴堡县| 南城县| 西城区| 岳阳县| 衢州市| 资中县| 乡城县| 凉城县| 巩义市| 于田县| 波密县| 望奎县| 五台县| 西和县| 平果县| 瑞丽市| 伽师县| 博客| 葫芦岛市| 武山县| 杭锦旗| 东丰县| 江源县| 洪雅县| 龙陵县| 松原市| 康保县| 宣城市|