国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2022-05-30 10:48圣立明李超常京
電腦知識與技術 2022年31期
關鍵詞:微信小程序爬蟲

圣立明 李超 常京

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

關鍵詞:微信小程序;求職;Java;爬蟲

中圖分類號:TP311 ? ? ?文獻標識碼:A

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

1 概述

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

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

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

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

2 系統(tǒng)架構

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

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

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

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

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

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

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

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

1) 小程序登錄功能

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

2) 職位搜索功能

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

3) 簡歷管理功能

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

4) 投遞簡歷功能

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

5) 投遞記錄查詢功能

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

6) 收藏簡歷功能

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

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

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

該小程序的整體功能結構如圖2所示。

3.2 前端頁面設計

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

1) 首頁設計

主要有輪播圖區(qū)域與招聘企業(yè)區(qū)域兩塊區(qū)域,其中輪播圖部分采用swiper組件實現(xiàn),在js文件中調用后端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布局實現(xiàn),結合navigator組件實現(xiàn)點擊跳轉到相應招聘企業(yè)的職位搜索頁面,數(shù)據(jù)獲取、保存、渲染都與輪播圖部分的實現(xiàn)方式一致。

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

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

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

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

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

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

1) 控制層

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

2) 業(yè)務層

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

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

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

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

該系統(tǒng)職位信息的提供通過Python的Scrapy框架爬取獲取,Scrapy作為一個開源免費的爬蟲框架速度快,功能強大,能提供結構性數(shù)據(jù)。其中Items負責需要抓取的數(shù)據(jù)項,Spider負責抓取與解析數(shù)據(jù),在Pipelines中設計管道對數(shù)據(jù)進行清洗并存儲爬取內容。同時,通過Python的APScheduler定時器框架實現(xià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')

# 設置爬取周期

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

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

scheduler.start()

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

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

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

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

2) 個人中心功能

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

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

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

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

4 結束語

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

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

參考文獻:

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

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

[3] 高洪濤.從零開始學微信小程序開發(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核心技術(卷2) :高級特性(原書第9版)[M].北京:機械工業(yè)出版社,2014.

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

收稿日期:2022-05-15

基金項目:2022年廣州城市理工學院教學質量與教學改革工程(課程類)項目

作者簡介:圣立明(1985—) ,女,廣東廣州人,助教,碩士,研究方向為計算機應用技術;李超(2000—) ,男,廣東廣州人,本科在讀,研究方向為軟件開發(fā);常京(1985—) ,女,廣東廣州人,助教,碩士,研究方向為軟件開發(fā)。

猜你喜歡
微信小程序爬蟲
利用網絡爬蟲技術驗證房地產灰犀牛之說
基于Python的網絡爬蟲和反爬蟲技術研究
利用爬蟲技術的Geo-Gnutel la VANET流量采集
當圖書館遇上微信小程序
大數(shù)據(jù)環(huán)境下基于python的網絡爬蟲技術
同江市| 淮北市| 横山县| 韶关市| 桐城市| 大城县| 扶沟县| 龙游县| 达尔| 襄垣县| 东明县| 石屏县| 马关县| 泾阳县| 云南省| 象州县| 宁阳县| 弋阳县| 贵溪市| 洪洞县| 库伦旗| 合作市| 陇川县| 盐城市| 海林市| 剑阁县| 图们市| 金塔县| 吉水县| 长治县| 阳江市| 尼勒克县| 台前县| 武山县| 咸丰县| 宣恩县| 晋宁县| 师宗县| 定南县| 平谷区| 城固县|