![基于Python的招聘網(wǎng)站爬蟲及可視化的設(shè)計與實現(xiàn)_第1頁](http://file4.renrendoc.com/view/eeab703a757f7b0ace3acc8847996463/eeab703a757f7b0ace3acc88479964631.gif)
![基于Python的招聘網(wǎng)站爬蟲及可視化的設(shè)計與實現(xiàn)_第2頁](http://file4.renrendoc.com/view/eeab703a757f7b0ace3acc8847996463/eeab703a757f7b0ace3acc88479964632.gif)
![基于Python的招聘網(wǎng)站爬蟲及可視化的設(shè)計與實現(xiàn)_第3頁](http://file4.renrendoc.com/view/eeab703a757f7b0ace3acc8847996463/eeab703a757f7b0ace3acc88479964633.gif)
![基于Python的招聘網(wǎng)站爬蟲及可視化的設(shè)計與實現(xiàn)_第4頁](http://file4.renrendoc.com/view/eeab703a757f7b0ace3acc8847996463/eeab703a757f7b0ace3acc88479964634.gif)
![基于Python的招聘網(wǎng)站爬蟲及可視化的設(shè)計與實現(xiàn)_第5頁](http://file4.renrendoc.com/view/eeab703a757f7b0ace3acc8847996463/eeab703a757f7b0ace3acc88479964635.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄TOC\o"1-3"\h\u摘要 IIDesignandImplementationofRecruitmentWebsiteCrawlerandVisualizationBasedonPythonAbstract:WiththerapiddevelopmentoftheInternet,themostimportantsourceforpeopletoobtaininformationhaschangedfromnewspaperandTVtotheinternet.ThewideapplicationoftheInternetmakestheamountofdataonthenetworkgrowexponentially.Whilepeoplegetalotofnewandmorecompleteinformation,italsomakesitdifficultforpeopletoextracttheinformationtheywantmostandfilterouttheinformationthatisuselesstothem.Thisisalsothecaseforjobapplicants.Withtheincreasingpopularityofrecruitmentwebsites,recruitmentwebsiteshavebecomethemainplatformforjobseekerstofindjobs.Facedwithalargenumberofrecruitmentinformation,theemployeescannotgettherecruitmentinformationtheywantataglance,soweneedtoprocessthemassiverecruitmentdata,tomakearecruitmentinformationanalysissystem.Onthisbasis,thispaperintroducesthetechnicallinesinthedesignandanalysisofthecrawlerandvisualizationoftherecruitmentwebsitebasedonPython.ThecrawlerandvisualizationofthisrecruitmentwebsitearewritteninPythonlanguage,usingthelightweightWebapplicationframeworkbasedonFlask,usingMySQLdatabase,usingEChartsfordatavisualizationpartofthedisplay.Thecrawlernetworkhasastronganti-crawlermechanism,encapsulatedintheformofcookie,andthencollectsdata.ThecrawlersystemcanbeusedtoretrievedatafromJava,Python,PHP,etc.TheobtainedinformationisstoredintheMySQLdatabase,andthenthequerieddataisdisplayedonthewebpageusingtheEChartsframeworkusingPymysqlpackagetoconnecttotheMySQLdatabase.Throughthissystem,userscanunderstandtheinformationoftheposition,thedistributionofsalaries,themainrecruitmentofenterprisesinthecityandthesizeofthedistributionofenterprises,thebenefitsofthepositionandtherequirementsoftheapplicant'seducationalbackground,workexperience.Keywords:PythonCrawler;DataVisualization;RecruitmentWebsitePAGEPAGE8引言隨著互聯(lián)網(wǎng)的不斷發(fā)展,網(wǎng)絡(luò)招聘也更加普遍。招聘網(wǎng)站能使招聘者隨時隨地了解到招聘信息,同時提高企業(yè)招聘的速度。但是面對著大量的招聘信息,應(yīng)聘者難以在很快的時間內(nèi)找到適合自己的崗位,做出適合自己選擇,也不能根據(jù)這些信息直觀的看到應(yīng)聘者比較關(guān)心的薪資狀況分布,企業(yè)的主要招聘城市,公司福利和所要求的學(xué)歷與經(jīng)驗等方面。因此,當(dāng)下需要一個能夠把招聘信息整合到一起并將信息可視化顯示的系統(tǒng),這樣用戶就可以通過該平臺來進行查看招聘信息的薪資分布,企業(yè)福利,所在城市等,從而使求職者可以更快找到心儀的工作。目前,基于網(wǎng)絡(luò)爬蟲的招聘職位可視化系統(tǒng)在國內(nèi)外比較少見,有提供該平臺的搜索引擎如百度、谷歌等。但是因為招聘網(wǎng)站的招聘信息不能夠隨意轉(zhuǎn)載,并不能獲取到全面的招聘信息,且做不到可視化的效果。因此基于Python的招聘信息的爬蟲及可視化系統(tǒng)還沒有比較成功的案例。所以,本文通過對拉鉤網(wǎng)Java、Python、Php相關(guān)崗位的公司名稱、招聘城市、崗位名稱、薪資待遇等進行爬取,然后將招聘信息存入數(shù)據(jù)庫,使用ECharts可視化圖表將招聘信息以柱狀圖、折線圖等形式展現(xiàn)出來,供用戶個性化的獲取信息。讓計算機相關(guān)專業(yè)應(yīng)聘者根據(jù)自身優(yōu)勢有選擇性的應(yīng)聘崗位。為廣大的社會擇業(yè)人員和初入社會的應(yīng)屆畢業(yè)生提供就業(yè)和學(xué)習(xí)的指導(dǎo)方向。
第1章課題概述由于近些年互聯(lián)網(wǎng)的飛速發(fā)展,我們所生活的世界正在被數(shù)據(jù)所淹沒,人們面對大量的數(shù)據(jù)需要從大量數(shù)據(jù)中快速地提取有效的自己需要的信息。對于求職者來說當(dāng)查看招聘信息時也是這樣,面對招聘網(wǎng)站展示的大量的職位信息,應(yīng)聘者難以及時選出自己最想要的職位信息,又或者篩選出信息后不能直觀地看到招聘所有信息的特征、規(guī)律、變化的趨勢或者數(shù)據(jù)之間潛在聯(lián)系。我們可以借助計算機技術(shù)來進行自動獲取篩選分析自己想要的職位信息。本文對于基于Python的招聘網(wǎng)站的爬蟲及可視化的課題研究就顯得尤為重要了。1.1課題內(nèi)容該課題研究的是一種基于Python的招聘網(wǎng)站的爬蟲及可視化的系統(tǒng)。在開發(fā)過程中利用Python對招聘信息進行收集和分析。首先,在拉鉤網(wǎng)站上爬取招聘信息,然后存入數(shù)據(jù)庫,連接數(shù)據(jù)庫將數(shù)據(jù)庫中的招聘信息從地區(qū)、行業(yè)、專業(yè)、公司規(guī)模、要求經(jīng)驗、薪資待遇等維度進行數(shù)據(jù)分析。最后,利用ECharts可視化技術(shù),將有效的數(shù)據(jù)展示給用戶。1.2課題背景近年來隨著我國計算機水平的發(fā)展,計算機行業(yè)的熱門,高校也都相繼開設(shè)了相關(guān)課程,越來越多的計算機人才涌入社會,但市場中的一眾崗位讓人眼花繚亂,同時眾多擁有豐富從業(yè)經(jīng)驗的從業(yè)者,名牌大學(xué)與普通院校畢業(yè)生共同競爭,致使很多社會中的求職者面臨著就業(yè)的困擾,而如今的招聘網(wǎng)站信息多,想要獲取有效的信息需要的時間太長。為了解決社會二次擇業(yè)人員和高校應(yīng)屆畢業(yè)生獲取符合自己的并符合自己意向的招聘崗位信息,利用Python對這些招聘信息進行收集和分析勢在必行。所以需要一種能夠具有分析崗位優(yōu)勢,薪資分布等的系統(tǒng),可供求職者利用自身優(yōu)勢,分析崗位信息,從而盡快找到心儀的崗位。通過綜合運用互聯(lián)網(wǎng)數(shù)據(jù)爬蟲技術(shù)和圖表可視化庫,對招聘網(wǎng)站的招聘信息進行爬取,并進行了相關(guān)統(tǒng)計分析,從地區(qū)、行業(yè)、薪酬、經(jīng)驗、崗位素質(zhì)等方面進行綜合分析。從而幫助計算機行業(yè)想從事Java、Python、Php相關(guān)崗位的就業(yè)人員了解相關(guān)領(lǐng)域的崗位需求和薪資情況、企業(yè)招聘城市、招聘企業(yè)的規(guī)模和學(xué)歷與工作經(jīng)驗要求等。從而為就業(yè)人員的快速選擇崗位,在何處選擇崗位提供參考,對未來的生活和工作、學(xué)習(xí)規(guī)劃等明確方向。1.3課題意義對于即將畢業(yè)找工作的應(yīng)屆生和社會擇業(yè)人員來說,上網(wǎng)快速找到合適的工作,無疑是急需的。而如今的招聘網(wǎng)站信息多,面對著網(wǎng)上形形色色的招聘網(wǎng)站和參差不齊的招聘信息,想要獲取有效的信息需要的時間太長,這給就業(yè)者根據(jù)自身的情況選擇自己適合的職業(yè)帶來了困難。針對以上不足,有必要通過爬蟲技術(shù),幫助求職者在雜亂無序的數(shù)據(jù)中尋找有用的數(shù)據(jù),科學(xué)分析,縮短求職者找工作的時間成本,幫助求職者快速擇業(yè)。本系統(tǒng)爬取了拉勾網(wǎng)站的計算機語言相關(guān)多種招聘信息,同學(xué)們可以通過選擇本身應(yīng)對的學(xué)歷和想要的招聘崗位來選擇查看相應(yīng)的招聘信息。同時將這些信息可視化,可以方便同學(xué)們快速了解公司需求情況,這些可視化的部分包括薪資情況,企業(yè)情況,公司福利情況和學(xué)歷情況。1.4運行環(huán)境開發(fā)環(huán)境:Pycharm開發(fā)語言:Python+JavaScript+SQL后臺數(shù)據(jù)庫:MySQL開發(fā)環(huán)境運行平臺:Windows7/Windows101.5相關(guān)技術(shù)本項目是使用Python語言開發(fā)編寫。使用request包進行對招聘網(wǎng)站的數(shù)據(jù)爬??;用Pysql連接數(shù)據(jù)庫,獲取數(shù)據(jù);使用Flask框架將數(shù)據(jù)返回給前端,用ECharts對數(shù)據(jù)進行可視化展示,使用Jieba分詞將語句分開。1.5.1Python語言Python是由其他多種語言發(fā)展而來的腳本語言。Python具有很強的可讀性,比其他語言更容易上手,并跳過了編譯的過程,不需要使用編譯器。Python語言是交互式的,我們可以直接運行代碼。Python支持面向?qū)ο蟮娘L(fēng)格或者將代碼封裝在對象的編程技術(shù),是一種面向?qū)ο蟮恼Z言。Python語言非常適合新手學(xué)習(xí),因此作為計算機學(xué)生,在步入大學(xué)后,專業(yè)課程開設(shè)的第一門課就是計算機導(dǎo)論——以Python為舟,可見Python對于初級程序員來說是一種偉大的語言。爬蟲一般來說就是進行網(wǎng)絡(luò)資源抓取,因為Python腳本特性,Python容易配置,對字符處理十分靈活,Python有著豐富網(wǎng)絡(luò)抓取模板,讓兩者可以很好的鏈接在一起。對比其他靜態(tài)編程語言來說,Python抓取網(wǎng)頁文檔接口更加簡潔。抓住網(wǎng)頁有時候需要模擬瀏覽器的行為,而Python具有很多第三方包。1.5.2Flask框架Flask是一種使用Python開發(fā)的Web框架,可以說是以Werkzeug和Jinja2模板為核心。Flask相當(dāng)于一個內(nèi)核,是一個非常簡單的框架且易于擴展。Flask調(diào)用視圖函數(shù)后,會將視圖函數(shù)的返回值作為響應(yīng)的內(nèi)容,返回給客戶端。一般情況下,響應(yīng)內(nèi)容主要是字符串和狀態(tài)碼。當(dāng)客戶端需要訪問信息時,通常通過瀏覽器發(fā)起HTTP請求。Werkzeug預(yù)處理接收的HTT請求進行路由分發(fā),根據(jù)URL請求,找到具體的視圖函數(shù)。Flask框架處理接收的請求,在Flask中,通常是用Flask程序?qū)嵗腞oute裝飾器來實現(xiàn)路由。調(diào)用視圖函數(shù),獲取響應(yīng)數(shù)據(jù)后,把數(shù)據(jù)傳入HTML模板文件中,使用Jinja2模板渲染響應(yīng)數(shù)據(jù),然后由Flask返回響應(yīng)數(shù)據(jù)給瀏覽器,最后瀏覽器處理返回的結(jié)果顯示給客戶端,F(xiàn)lask請求響應(yīng)圖,如圖1-1所示。圖1-1Flask請求響應(yīng)1.5.3ECharts圖表庫ECharts是一款使用JavaScript實現(xiàn)的開源的數(shù)據(jù)可視化圖表庫,可以提供直觀的,可交互的數(shù)據(jù)可視化圖表。本招聘網(wǎng)站的爬蟲及可視化系統(tǒng)使用ECharts做出薪資待遇的柱狀圖和餅圖、折線圖的分布展示,公司分布所在城市的餅狀圖展示,公司規(guī)模狀況的柱狀圖和折線圖的展示,對學(xué)歷和工作經(jīng)驗要求的條狀圖和矩形樹圖的展示。ECharts通常數(shù)據(jù)設(shè)置在SetOption中,如果我們需要異步加載數(shù)據(jù),可以配合JQuery等工具,在異步獲取數(shù)據(jù)后通過SetOption填入數(shù)據(jù)和配置項就行。1.5.4Jieba庫Jieba庫是一款Python的第三方中文分詞庫,Jieba支持三種分詞模式:精確模式、全模式和搜索引擎模式。精確模式是將語句最精確的切分,這樣不存在冗余數(shù)據(jù),可以做文本分析。全模式是將語句中所有可能是詞的詞語都切分出來,速度很快,但是存在冗余數(shù)據(jù)。搜索引擎模式是在精確模式的基礎(chǔ)上,對長詞再次進行切分。1.5.5Pysql包Pysql具有歷史,完成和行編輯等功能。具有高級功能(搜索表,索引,計數(shù),說明計劃,會話列表等),為屏幕和文件提供適當(dāng)?shù)妮敵觯–SV可以包含在電子表格中),支持用戶定義的SQL,后臺查詢,模式數(shù)據(jù)模型,對象依賴項,PL/SQL包函數(shù)調(diào)用樹的圖形輸出,等等。在可視化需要數(shù)據(jù)連接查詢后臺數(shù)據(jù)庫時,需要使用Pysql包進行連接。1.6本章小結(jié)本章主要介紹招聘信息的爬蟲及可視化在設(shè)計時所使用的軟件Pycharm和Mysql以及平臺背景,和介紹本次畢業(yè)設(shè)計所涉及到的一些技術(shù)和技術(shù)的相關(guān)內(nèi)容并且闡述了課題意義,討論了課題背景。為后面的招聘網(wǎng)站的爬蟲與可視化系統(tǒng)的設(shè)計部分以及系統(tǒng)實現(xiàn)部分打下了堅實的理論基礎(chǔ)。第2章系統(tǒng)設(shè)計本招聘網(wǎng)站的爬蟲及可視化系統(tǒng)使用的是Python語言編寫,采用基于Flask的輕量級Web應(yīng)用框架,招聘信息的存儲數(shù)據(jù)庫采用MySQL設(shè)計,使用ECharts進行招聘信息的數(shù)據(jù)可視化顯示。2.1設(shè)計思想首先使用Request爬取拉勾網(wǎng)網(wǎng)頁,分析拉鉤網(wǎng)網(wǎng)頁,將內(nèi)容進行解析后將招聘信息寫入數(shù)據(jù)庫,當(dāng)我們需要查詢信息時,需要連接數(shù)據(jù)庫,將信息查詢后讀取并寫入字典,使用ECharts框架,將數(shù)據(jù)傳輸?shù)角岸司W(wǎng)頁,以餅狀圖,柱狀圖,折線圖等形式展示,讓用戶直觀的看到招聘信息的地域,薪資,待遇等分布,讓用戶直觀的獲取到最關(guān)心的招聘信息。2.2需求分析隨著互聯(lián)網(wǎng)時代的不斷發(fā)展,各行各業(yè)的數(shù)據(jù)都呈現(xiàn)極為夸張的增長態(tài)勢,面對畢業(yè)找工作,網(wǎng)上有形形色色的招聘網(wǎng)站,招聘信息也參差不齊,這給畢業(yè)生和二次擇業(yè)人員如何根據(jù)自身情況選擇自己適合的職業(yè)帶來了困難。本人想設(shè)計一個網(wǎng)站,爬取招聘網(wǎng)站的有關(guān)Java、Python、Php這三種語言相關(guān)職位的信息,然后將這些信息綜合,方便同學(xué)們可以通過選擇學(xué)歷和想要的招聘職位來選擇查看相應(yīng)招聘信息。同時將這些信息可視化,方便同學(xué)們快速了解公司需求情況,可視化的部分包括薪資情況,企業(yè)情況,公司福利情況和學(xué)歷情況。此系統(tǒng)的主要功能需求如下:1.?dāng)?shù)據(jù)概況爬取的所有有關(guān)Java、Python、Php語言的崗位招聘數(shù)據(jù)都可以看到,也可以通過學(xué)歷和職位來選擇查看滿足條件的招聘信息,可以選擇學(xué)歷要求、輸入職位來搜索更加精準(zhǔn)的職位。2.可視化薪資情況:通過選擇學(xué)歷來查看各種崗位對于不同學(xué)歷的薪資可視化情況,以柱狀圖、餅圖的形式來展示各種職位的薪資分布、所占比例,提供給用戶在找工作是作為參考。企業(yè)情況:通過選擇職位可以來查看這個職位的主要招聘城市,還可以大概查看一下這個職位的公司規(guī)模情況,以及每個職位在各個主要城市所占的比例餅圖。福利情況:通過數(shù)據(jù)可視化速覽公司福利,基于詞云進行構(gòu)造,可以清晰看出所有公司給出的最核心的福利待遇。學(xué)歷情況:可以查看各個職位對學(xué)歷以及工作經(jīng)驗的要求,以條形圖、矩形樹的形式進行可視化展示。2.3系統(tǒng)可行性分析對于本系統(tǒng)可行性的分析主要從與系統(tǒng)開發(fā)和實際生活息息相關(guān)的技術(shù)、經(jīng)濟、社會三方面進行分析。1.技術(shù)可行性對于技術(shù)可行性首先要想到如何運用當(dāng)前的技術(shù)手段可以成功地完成系統(tǒng)開發(fā)設(shè)計的工作,還要考慮設(shè)施以及配置能否契合開發(fā)的需要等。本次要開發(fā)的招聘數(shù)據(jù)采集分析網(wǎng)站系統(tǒng)用的是Python開發(fā)語言,容易編寫,可以直接在服務(wù)器上執(zhí)行端口。并且使用Pycharm可以快速創(chuàng)建項目。在軟件方面:由于使用B/S模型的相對成熟的開發(fā)軟件,所以軟件開發(fā)平臺的可行性。并且ECharts圖表庫也已非常成熟且完善,所以其技術(shù)可行性非常之高。2.經(jīng)濟可行性Python是一款開源免費的腳本語言,Pycharm開發(fā)環(huán)境也有免費的社區(qū)版,而且ECharts也是一款優(yōu)秀的開源的圖表。因此開發(fā)成本幾乎可以忽略不計,因此經(jīng)濟可行性非常高。3.社會可行性本系統(tǒng)的開發(fā)符合國家法律進行,也不會觸犯到任何人,任何集體的法律權(quán)益。只要開發(fā)過程中遵紀(jì)守法就完全符合法律要求,并且使用計算機的用戶都會具有一定的計算機基礎(chǔ),并且本系統(tǒng)操作方法簡單,分析的均為計算機相關(guān)方面的崗位信息,用戶群體也都是計算機方面的人才,所以用戶絕對能夠熟練使用該系統(tǒng),并且普通會使用計算機的人群也能使用。因此社會可行性很高。2.4功能設(shè)計本項目要對系統(tǒng)功能結(jié)構(gòu)進行設(shè)計、系統(tǒng)功能模塊爬取網(wǎng)站信息及存入數(shù)據(jù)庫和數(shù)據(jù)可視化設(shè)計、畫出系統(tǒng)完整的流程圖。2.4.1系統(tǒng)功能結(jié)構(gòu)該系統(tǒng)實現(xiàn)了數(shù)據(jù)的概覽,薪資情況,企業(yè)情況,福利情況,學(xué)歷情況及薪資預(yù)測的可視化。系統(tǒng)功能層次圖,如圖2-1所示。圖2-1系統(tǒng)功能層次圖2.4.2系統(tǒng)功能模塊設(shè)計本程序使用Python語言編寫,使用的是Flask輕量級Web應(yīng)用框架,數(shù)據(jù)庫采用MySQL設(shè)計,使用百度開發(fā)的開源的ECharts圖表庫進行數(shù)據(jù)的可視化顯示。招聘信息數(shù)據(jù)的爬取使用Requests進行,爬取的招聘網(wǎng)站為拉勾網(wǎng),拉勾網(wǎng)有較強的反爬機制,所以采用Cookie的形式進行封裝,再進行數(shù)據(jù)獲取。獲取的招聘信息數(shù)據(jù)存儲到MySQL數(shù)據(jù)庫,然后使用Pymysql包連接MySQL將查詢的數(shù)據(jù)展示到頁面。系統(tǒng)提供了如下功能:1.?dāng)?shù)據(jù)爬取功能程序模擬瀏覽器訪問招聘網(wǎng)站信息獲取響應(yīng)Json,提取其中招聘崗位的所有數(shù)據(jù),并將這些招聘數(shù)據(jù)進行存儲。系統(tǒng)爬取流程圖,如圖2-2所示。圖2-2招聘信息爬取流程圖數(shù)據(jù)展示概況可以通過學(xué)歷和職位來選擇查看滿足條件的招聘信息,可以選擇學(xué)歷要求、輸入職位來搜索更加精準(zhǔn)的職位。3.?dāng)?shù)據(jù)可視化通過連接數(shù)據(jù)處理獲取職位信息后,將職位信息傳輸?shù)紼Charts前端框架里。在前端網(wǎng)站框架里放入連接數(shù)據(jù)后的ECharts將各種相關(guān)職位的薪資分布情況以柱狀圖、餅圖的形式來展示。將相關(guān)職位的主要招聘城市以所占的比例餅圖形式展現(xiàn);將公司企業(yè)的規(guī)模分布以折線圖,柱狀圖的形式展示。通過數(shù)據(jù)可視化,基于詞云進行構(gòu)造,生成公司福利詞云和職位福利詞云,展示所有公司給出的最核心的福利待遇??梢暬宫F(xiàn)各種崗位對于不同學(xué)歷和不同經(jīng)驗的薪資情況,以柱狀圖、矩形樹的形式進行可視化展示。2.4.3系統(tǒng)流程圖用戶登入系統(tǒng)后,通過連接數(shù)據(jù)庫,對招聘信息進行獲取,將信息傳輸?shù)紼Charts圖表里對三種語言相關(guān)崗位招聘信息進行可視化的展示??梢暬故玖鞒虉D,如圖2-3所示。圖2-3可視化展示流程圖2.5數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫存儲爬取的所有招聘信息數(shù)據(jù)。在MySQL里創(chuàng)建招聘信息表,存儲爬取的招聘公司的全稱,招聘職位名稱,職位福利,薪資,學(xué)歷要求,所在城市等信息。當(dāng)可視化界面展示數(shù)據(jù)時,查詢數(shù)據(jù)中所有的相關(guān)招聘信息。招聘信息數(shù)據(jù)表,如表2-1所示。表2-1招聘信息數(shù)據(jù)表字段名數(shù)據(jù)類型備注companyFullNameText公司全稱companyShortNameText公司簡稱companySizeText公司規(guī)模financeStageText融資階段districtText區(qū)域positionNameText職位名稱workYearText工作經(jīng)驗educationText學(xué)歷salaryText薪資positionAdvantageText職位福利industryFieldText經(jīng)營范圍firstTypeText職位類型companyLabelListText公司福利secondTypeText第二職位cityText城市2.6本章小結(jié)本章對基于Python的招聘網(wǎng)站的爬蟲及可視化系統(tǒng)進行了設(shè)計思想的闡述,表述了招聘網(wǎng)站可視化的需求分析。對系統(tǒng)可行性進行分析,包括技術(shù)、經(jīng)濟、社會。以及詳細的功能設(shè)計,包括系統(tǒng)功能結(jié)構(gòu)設(shè)計、系統(tǒng)功能模塊爬取網(wǎng)站信息及存入數(shù)據(jù)庫和數(shù)據(jù)可視化的設(shè)計、系統(tǒng)完整流程圖。最后介紹了數(shù)據(jù)庫創(chuàng)建的表及其屬性。為接下來的招聘網(wǎng)站的爬蟲及可視化的詳細實現(xiàn)打下基礎(chǔ)。第3章系統(tǒng)實現(xiàn)本章在前文對于本招聘信息爬蟲及可視化系統(tǒng)的需求分析以及詳細的爬取流程分析和數(shù)據(jù)可視化分析的基礎(chǔ)上對數(shù)據(jù)可視化系統(tǒng)的實現(xiàn)做出詳細的介紹。對崗位信息的爬取的技術(shù)講解和部分代碼、數(shù)據(jù)處理、數(shù)據(jù)庫功能實現(xiàn)以及ECharts可視化進行詳細介紹。3.1崗位信息爬取模塊設(shè)計通過瀏覽器搜索拉勾網(wǎng),在拉勾網(wǎng)站點擊鼠標(biāo)右鍵的檢查功能查看招聘信息的源代碼分析網(wǎng)頁,拉勾網(wǎng)的職位信息是通過Ajax動態(tài)加載的,由于拉勾網(wǎng)反爬機制,我們并不能通過爬蟲在爬取的源代碼里獲取職位的相關(guān)信息,所以我們在檢查功能的Network里點擊XHR查看標(biāo)頭。在爬取數(shù)據(jù)的過程中,從指定的url中通過Requests請求攜帶標(biāo)頭里的請求標(biāo)頭和表單數(shù)據(jù)模擬瀏覽器訪問網(wǎng)頁獲取網(wǎng)頁中的JSON信息。對招聘信息的獲取使用Requests進行爬取拉勾網(wǎng)的招聘崗位信息,由于拉勾網(wǎng)的反爬機制,所以采用Cookie的形式進行封裝,再進行數(shù)據(jù)獲取。數(shù)據(jù)爬取的部分過程,代碼如下:#創(chuàng)建session會話s=requests.Session()#模擬瀏覽器發(fā)送請求
s.get(url=url1,headers=headers,timeout=3)#獲取cookie
cookie=s.cookies#發(fā)送post請求
res=requests.post(url,headers=headers,data=data,cookies=cookie,timeout=3)#檢查請求是否成功
res.raise_for_status()#設(shè)置可接收的編碼為utf-8
res.encoding='utf-8'#請求響應(yīng)結(jié)果
page_data=res.json()訪問拉鉤網(wǎng)站,登錄需要Cookie,將Cookie保存在Session里。創(chuàng)建Session連接,獲取服務(wù)器的響應(yīng)結(jié)果。獲取響應(yīng),如圖3-1所示。圖3-1獲取響應(yīng)通過分析網(wǎng)頁源代碼可以看到瀏覽器發(fā)送的請求得到的響應(yīng),從JSON里可以讀取總職位數(shù)TotalCount,代碼如下:first_page=get_json(url,1)
total_page_count=first_page['content']['positionResult']['totalCount']#獲取json里的總相關(guān)職位數(shù)
num=get_page_num(total_page_count)#算出爬取的頁數(shù)通過從瀏覽器上登錄拉鉤網(wǎng)站可以看到拉鉤網(wǎng)的招聘信息每頁顯示15個職位,最多可以顯示30頁,所以最多能爬取30頁信息。爬取總頁數(shù)的代碼如下:defget_page_num(count):
page_num=math.ceil(count/15)#總職位數(shù)除以每頁的招聘崗位15個
ifpage_num>30:
return30#如果頁碼超過30只返回三十頁碼職位
else:
returnpage_num#如果頁碼不超過30頁,那么返回爬取的總頁碼數(shù)將頁數(shù)循環(huán)訪問并獲取響應(yīng)JSON里職位相關(guān)的內(nèi)容,最后將職位信息匯總到總列表total_info中,因為拉鉤網(wǎng)站的反爬機制,所以每次爬取一頁數(shù)據(jù)后都需要都需要暫停一段時間后再繼續(xù)爬去,獲取職位信息代碼如下:total_info=[]
time.sleep(10)
fornuminrange(1,num+1):
#獲取每一頁的職位相關(guān)的信息
page_data=get_json(url,num)#獲取響應(yīng)json
jobs_list=page_data['content']['positionResult']['result']#獲取每頁的所有相關(guān)的職位信息
page_info=get_page_info(jobs_list)#將每頁的職位信息寫入列表foriteminpage_info:
print(item)
total_info+=page_infoprint('已經(jīng)爬取到第{}頁,職位總數(shù)為{}'.format(num,len(total_info)))
time.sleep(20)將網(wǎng)站每頁的崗位信息從響應(yīng)的Json里獲取的職位信息顯示出來,職位信息列表,如圖3-2所示。圖3-2職位信息列表爬取所有數(shù)據(jù),看看有沒有之前已存入的信息,如果沒有再寫入,這樣可以篩選之前爬取過的重復(fù)的崗位招聘信息,或者不同語言關(guān)鍵詞同時能搜索到的相同崗位信息,更新數(shù)據(jù)表代碼如下:defunique(old_list):
newList=[]
forxinold_list:
ifxnotinnewList:
newList.append(x)
returnnewList3.2數(shù)據(jù)庫的連接及使用爬取的所有職位信息都需要存入數(shù)據(jù)庫,每次對數(shù)據(jù)化進行可視化展示時連接并查詢數(shù)據(jù)庫里相關(guān)的職位信息。3.2.1連接數(shù)據(jù)庫在MySQL中用創(chuàng)建數(shù)據(jù)庫表,將爬取后的獲取的數(shù)據(jù)保存到數(shù)據(jù)庫。每次可視化的展示都需要連接數(shù)據(jù)庫獲取相關(guān)的信息,獲取列表里的所有相關(guān)信息后就要關(guān)閉連接,代碼如下:conn=pymysql.connect(host='localhost',user='root',password='123456',port=3366,db='lagou',charset='utf8mb4')#建立數(shù)據(jù)庫連接cursor=conn.cursor()#中間是查詢所需要的各種招聘信息count=cursor.fetchall()#取消連接3.2.2數(shù)據(jù)概覽數(shù)據(jù)庫查詢在可視化過程中,我們需要載入數(shù)據(jù),而這些數(shù)據(jù)保存在MySQL數(shù)據(jù)庫里,所以就要用Pymysql包連接MySQL數(shù)據(jù)庫,并在MySQL數(shù)據(jù)庫中查詢相關(guān)信息列遍歷并寫入列表,然后關(guān)閉連接。數(shù)據(jù)概況的內(nèi)容是從數(shù)據(jù)庫中查詢所有職位信息,遍歷數(shù)據(jù)表信息并存放至列表代碼如下:cursor.execute("selectcount(*)fromdemo");
count=cursor.fetchall()
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)#返回字典(dict)表示的記錄,就要cursorclass參數(shù)設(shè)為MySQLdb.cursors.DictCursor類。
cursor.execute("select*fromdemolimit"+str(page)+","+str(limit));
data_dict=[]
result=cursor.fetchall()
forfieldinresult:
data_dict.append(field)3.2.3學(xué)歷情況數(shù)據(jù)庫查詢學(xué)歷情況的部分分別展示的是招聘企業(yè)對學(xué)歷的要求還有對工作經(jīng)驗的要求的數(shù)據(jù)。學(xué)歷的要求是從數(shù)據(jù)庫中查詢所有的學(xué)歷類別并返回所有結(jié)果,循環(huán)這些學(xué)歷,每次都查詢并返回所有招聘職位需求學(xué)歷的結(jié)果,對工作要求的數(shù)據(jù)也是這樣的方法進行查詢。代碼如下:cursor.execute("SELECTDISTINCT(education)fromdemo");
result=cursor.fetchall()
education=[]
education_data=[]
color_list=['#459AF0','#38C3B0','#86CA5A','#BFD44F']
forfieldinresult:
education.append(field[0])
foriinrange(len(education)):
cursor.execute("SELECTcount(*)fromdemowhereeducation='"+education[i]+"'");
count=cursor.fetchall()
education_data.append({'value':count[0][0],'itemStyle':{'color':color_list[i]}})學(xué)歷類型與每個學(xué)歷類型的招聘崗位數(shù),以及工作經(jīng)驗類型與招聘崗位數(shù),學(xué)歷情況數(shù)據(jù),如圖3-3所示。圖3-3學(xué)歷情況3.2.4企業(yè)情況數(shù)據(jù)庫查詢企業(yè)情況展示了主要招聘城市和企業(yè)規(guī)模兩種數(shù)據(jù)。主要招聘城市是在數(shù)據(jù)庫中查詢招聘的城市City列,并疊加每個招聘城市所招聘的崗位數(shù),企業(yè)所在城市的分布,由于爬取的是全國的招聘數(shù)據(jù),所以招聘城市過多全部在餅圖中展示的話會看不清內(nèi)容,所以,將餅狀圖只顯示前7個城市的招聘比例和招聘企業(yè)的個數(shù),企業(yè)規(guī)模的數(shù)據(jù)是循環(huán)公司規(guī)模查詢數(shù)據(jù)庫中所有公司規(guī)模將屬于哪種公司規(guī)模的公司加入列表。部分代碼如下:foriincity:#查詢各城市招聘人數(shù)
cursor.execute("SELECTcount(*)fromdemowherecity='"+i+"'"); count=cursor.fetchall()#'value':招聘人數(shù),'name':城市名
dict={'value':count[0][0],'name':i}
city_result.append(dict)
foriincity[7:]:#設(shè)置七名以后的城市不顯示
selected[i]=False以下是企業(yè)各招聘城市,及招聘城市招聘崗位數(shù),各招聘公司規(guī)模的公司數(shù),執(zhí)行數(shù)據(jù)庫結(jié)果,企業(yè)情況數(shù)據(jù),如圖3-4所示。圖3-4薪資情況數(shù)據(jù)3.2.5薪資情況數(shù)據(jù)庫查詢薪資情況的部分分別查詢數(shù)據(jù)庫的工作薪資Salary是屬于10k以下的Java崗位,Python崗位還是Php崗位,并遍歷數(shù)據(jù)庫。然后依次分別查詢數(shù)據(jù)庫其他薪資范疇10k到20k的、20k到30k的、30k到40k的、40k以上的三種語言相關(guān)的崗位信息,主要代碼如下:foriinpositionName:#此處查詢的就是20k到30k薪資的分別有關(guān)Java、Python、Php的崗位信息
cursor.execute("SELECTCOUNT(*)FROMdemoWHERESUBSTR(salary,1,2)BETWEEN20AND30andpositionNamelike'%"+i+"%';");#接收全部數(shù)據(jù)庫結(jié)果信息
count=cursor.fetchall()#依次加入列表
temp_list+=count[0]3.3數(shù)據(jù)可視化設(shè)計ECharts顯示圖表柱狀圖、折線圖,將從數(shù)據(jù)庫中提取的數(shù)據(jù)傳輸?shù)紼Charts框架里,在前端界面展示出來,ECharts是JavaStript語言,可以將后端的數(shù)據(jù)傳輸至ECharts框架里,以圖表形式展現(xiàn)出來。3.3.1福利詞云設(shè)計福利待遇部分是將查詢的數(shù)據(jù)庫的福利內(nèi)容列所有福利待遇加入列表,使用Jieba分詞設(shè)置停止詞,并提取主題詞,返回權(quán)重最大的前100個詞。然后以詞云形式展現(xiàn)在前端可視化界面。代碼如下:positionAdvantage=[]#設(shè)置停止詞
jieba.analyse.set_stop_words('./stopwords.txt')
tags=jieba.analyse.extract_tags(content,topK=100,withWeight=True)#提取主題詞content:要分詞的語句#topk:返回的是權(quán)重最大的前100個詞#withWeight:True返回關(guān)鍵詞的權(quán)重值
forv,nintags:
mydict={}
mydict["name"]=v
mydict["value"]=str(int(n*10000))
positionAdvantage.append(mydict)查詢的職位福利情況和公司福利情況的數(shù)據(jù)從數(shù)據(jù)庫得出結(jié)果,福利情況數(shù)據(jù),如圖3-5所示。圖3-5福利情況數(shù)據(jù)公司福利與職位福利可以通過ECharts在前端網(wǎng)頁可視化展示出來。公司福利與職位福利的詞云圖,如圖3-6所示。圖3-6詞云圖3.3.2柱狀圖和折線圖柱狀圖通過ECharts顯示,后端的數(shù)據(jù)以Json形式傳輸至ECharts圖表里可以動態(tài)切換柱狀圖與折線圖,并且鼠標(biāo)點到相應(yīng)位置會顯示柱狀圖或者條形圖的數(shù)據(jù)信息。柱狀圖或條形圖可以切換為數(shù)據(jù)視圖,保存圖片,實現(xiàn)柱狀圖與條形圖之間的動態(tài)切換,部分代碼如下:dataView:{//數(shù)據(jù)視圖
show:true
},
saveAsImage:{//保存圖片
show:true},//動態(tài)類型切換,可切換柱狀圖與餅圖
magicType:{
type:['bar','line']鼠標(biāo)觸碰可以觸發(fā)顯示相關(guān)的招聘數(shù)據(jù),下面是將Json數(shù)據(jù)傳輸至ECharts里的公司規(guī)模和公司規(guī)模結(jié)果的代碼,寫出數(shù)值軸類型和類目軸類型,柱狀圖或是折線圖類型,其他學(xué)歷情況和薪資待遇的柱狀圖和折線圖的數(shù)據(jù)展示也是如此。代碼如下:xAxis:{#類目軸
type:'category',#此處放從數(shù)據(jù)庫查詢出來的公司規(guī)模大小的內(nèi)容在x軸下方展示
data:panySize
},
yAxis:{#數(shù)值軸
type:'value'
},
series:[{#此處是公司規(guī)模大小的結(jié)果
data:panySizeResult,
type:'line'
}]柱狀圖和折線圖之間的相互轉(zhuǎn)換可以動態(tài)實現(xiàn),例如薪資待遇情況和公司規(guī)模的柱狀圖也可以通過用戶點擊進行動態(tài)切換成折線圖或者數(shù)據(jù),公司規(guī)模情況的柱狀圖,如圖3-7所示。圖3-7柱狀圖3.3.3矩形樹圖將數(shù)據(jù)傳輸至ECharts里后,將數(shù)據(jù)以樹圖的形式展示出來,矩形樹圖的類型為Treemap,設(shè)置樹圖屬性,以及設(shè)置樹圖中的文本樣式。代碼如下:data=res.workYear_datafor(varnindata){
data[n]['name']=data[n]['name']+''+data[n]['value']
}對工作經(jīng)驗的要求統(tǒng)計分布用ECharts以矩形樹圖的形式展示在前端界面。關(guān)于工作經(jīng)驗的矩形樹圖,如圖3-8所示。圖3-8矩形樹圖3.3.4餅圖企業(yè)所在城市的分布,由于爬取的是全國的招聘數(shù)據(jù),所以招聘城市過多全部展示不夠美觀,所以餅狀圖只顯示前7個城市的招聘比例和招聘企業(yè)的個數(shù),如果想要其他招聘城市的招聘信息只需要點擊城市即可在餅狀圖中顯示,部分代碼如下:legend:{orient:'vertical',
left:'left',
data:res.city,#只顯示前七個城市
selected:res.selected
},用ECharts可視化顯示崗位的主要招聘城市前七個城市及其崗位數(shù)的餅狀圖分布并,點擊城市可以在餅圖中添加此城市的招聘崗位數(shù)及占比。餅狀圖,如圖3-9所示。圖3-9餅狀圖3.4可視化展示通過對招聘數(shù)據(jù)的可視化展示,可以讓用戶直觀看到招聘信息的薪資情況,招聘城市,崗位福利等情況信息,從而分析自己想要去的城市和想工作的崗位,以及工作崗位的要求,對自己的職業(yè)規(guī)劃指明方向。3.4.1數(shù)據(jù)概況通過爬取的Java、Python、Php三種相關(guān)信息的招聘崗位信息,可以查看數(shù)據(jù)庫里的全部職位列表,也可以輸入學(xué)歷與關(guān)鍵字根據(jù)用戶需求個性化顯示招聘信息,用戶也可以選擇性查看崗位的部分信息,搜索查詢招聘信息,如圖3-10所示。圖3-10搜索查詢招聘信息3.4.2薪資情況爬取的全國的Java、Python、Php語言的招聘崗位統(tǒng)計后通過使用ECharts圖表展示的柱狀圖和餅狀圖可以看出這三種類型的薪資主要的分布在10k到20k之間,不同語言的崗位薪資分布差別不大,計算機相關(guān)崗位還是有很好的前景的。薪資情況,如圖3-11所示。圖3-11薪資狀況薪資狀況的柱狀圖可以切換為折線圖,鼠標(biāo)觸發(fā)事件會顯示薪資分布統(tǒng)計所招聘的人數(shù),薪資狀況的折線圖與數(shù)據(jù)視圖,如圖3-12所示。圖3-12薪資狀況折線圖與數(shù)據(jù)視圖3.4.3企業(yè)情況根據(jù)招聘崗位所在城市信息可以看到北京、上海、深圳、廣州這些城市招聘的崗位較多,招聘公司的規(guī)模分布也很平均,但50-150人規(guī)模的人數(shù)占比最多,也可以選擇其他城市查看招聘崗位個數(shù),根據(jù)自己的意向城市和各城市招聘比例個性化選擇崗位,企業(yè)分布餅圖、公司規(guī)模柱狀圖,如圖3-13所示。圖3-13企業(yè)分布餅圖、公司規(guī)模柱狀圖3.4.4福利情況根據(jù)福利的詞云分析可以看到各大公司對于職位福利和公司福利方面著重將五險一金、帶薪休假、績效獎金等來吸引人才,福利情況,詞云圖可以直觀看到大部分崗位及公司的待遇。福利情況,如圖3-14所示。圖3-14福利情況3.4.5學(xué)歷情況根據(jù)學(xué)歷情況的分析可以看到招本科及以上學(xué)歷的崗位最多,遠高于其他學(xué)歷招聘,對于工作經(jīng)驗要求的矩形樹圖可以看出要求其工作經(jīng)驗一般為3到5年,其次工作經(jīng)驗要求1到3年,但是經(jīng)驗要求一年以下工作經(jīng)驗的人數(shù)最少。學(xué)歷情況及工作經(jīng)驗可視化,如圖3-15所示。圖3-15學(xué)歷情況及工作經(jīng)驗可視化3.5本章小結(jié)本章主要闡述了本招聘網(wǎng)站的爬蟲及可視化系統(tǒng)的設(shè)計思想與開發(fā)的思路。展示了對拉鉤網(wǎng)站網(wǎng)頁的分析以及模擬瀏覽器向服務(wù)器端的訪問來進行對招聘數(shù)據(jù)的爬取,以及對爬取數(shù)據(jù)的處理和使用ECharts進行的可視化展示,是對招聘數(shù)據(jù)可視化系統(tǒng)的一些具體功能的描述。同時對招聘信息的可視化進行展示。第4章功能測試及成果展示任何一個項目完成之后都必須要對該項目的測試,以檢查項目是否有缺陷,設(shè)計多個測試用例,檢查用戶在使用階段是否會有此類問題。也可以在此過程中做出完善,本章主要是對招聘數(shù)據(jù)可視化的交互功能是否滿足要求進行測試。4.1測試內(nèi)容招聘數(shù)據(jù)的可視化主要是招聘信息的展示和交互,所以我們主要測試用戶的操作與系統(tǒng)的交互是否正常。所以選擇開發(fā)人員手工執(zhí)行測試用例的方式進行。以下是對招聘數(shù)據(jù)可視化進行的詳細說明。招聘數(shù)據(jù)可視化測試用例,如表4-1所示。表4-1招聘數(shù)據(jù)可視化測試用例測試名稱:招聘數(shù)據(jù)可視化測試測試目的:看用戶點擊相應(yīng)操作是否正確顯示可視化數(shù)據(jù),柱狀圖與折線圖是否能正常切換,數(shù)據(jù)概覽輸入相關(guān)信息是否能顯示相關(guān)數(shù)據(jù)。前置測試:成功連接數(shù)據(jù)庫,并可視化展示招聘信息。主要參與者:用戶功能模塊測試目的測試步驟預(yù)期結(jié)果數(shù)據(jù)概覽輸入學(xué)歷和相關(guān)職位關(guān)鍵詞能否顯示正確信息輸入學(xué)歷與關(guān)鍵詞查詢出現(xiàn)了相關(guān)信息,沒有其他信息薪資情況柱狀圖與折線圖是否能動態(tài)切換點擊切換折線圖折線圖出現(xiàn)企業(yè)情況點擊其他未顯示的城市是否能出現(xiàn)城市招聘崗位數(shù)信息點擊其中某一城市餅圖中添加了該城市信息福利情況鼠標(biāo)觸碰到某一高頻詞是否能顯示該詞出現(xiàn)的次數(shù)鼠標(biāo)觸碰該詞出現(xiàn)該詞的出現(xiàn)次數(shù)學(xué)歷情況鼠標(biāo)觸碰某一學(xué)歷的柱狀圖,是否能出現(xiàn)招聘人數(shù)鼠標(biāo)觸碰該柱狀圖顯示招聘人數(shù)4.2測試結(jié)果本項目的所有功能經(jīng)過測試后已經(jīng)完全滿足要求。本項目滿足了招聘數(shù)據(jù)列表的展示,薪資待遇的分布展示,公司分布情況的餅狀圖展示,公司規(guī)模大小的柱狀圖和折線圖的展示分布,公司福利情況和職位福利的詞云展示,對學(xué)歷和工作經(jīng)驗要求的條狀圖和矩形樹圖的展示。4.3本章小結(jié)本章通過使用測試案例數(shù)據(jù)對招聘數(shù)據(jù)的可視化分析進行測試,測試過程中發(fā)現(xiàn)了一些問題,比如餅狀圖沒有設(shè)計只顯示七個城市導(dǎo)致餅狀圖不好看。本次完善了功能,最后完成測試,但我們還需要加深學(xué)習(xí),讓項目變得更加實用。結(jié)論本次論文完成了對于基于Python的招聘網(wǎng)站的爬蟲及可視化,系統(tǒng)基本上達到了任務(wù)要求,需要參考Java、Python、Php語言的相關(guān)崗位招聘信息的計算機應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中子、電子及Γ輻照裝置合作協(xié)議書
- 2025年機載設(shè)備綜合測試臺合作協(xié)議書
- 2025年石材翻新護理用品合作協(xié)議書
- 建筑力學(xué)期末考試B卷試題及答案
- 2025年個人貨物運輸協(xié)議模板(2篇)
- 2025年個人房屋設(shè)計裝修合同(4篇)
- 2025年五年級體育教師工作總結(jié)(5篇)
- 2025年儀器銷售合同標(biāo)準(zhǔn)版本(4篇)
- 2025年五年級語文備課組長工作總結(jié)范文(二篇)
- 2025年二手車車輛轉(zhuǎn)讓合同簡單版(2篇)
- DB43-T 2142-2021學(xué)校食堂建設(shè)與食品安全管理規(guī)范
- 宏觀利率篇:債券市場研究分析框架
- 橋梁頂升移位改造技術(shù)規(guī)范
- 六年級語文(上冊)選擇題集錦
- 介紹人提成方案
- 天津在津居住情況承諾書
- PHOTOSHOP教案 學(xué)習(xí)資料
- 初中數(shù)學(xué)教學(xué)“教-學(xué)-評”一體化研究
- 2012年安徽高考理綜試卷及答案-文檔
- 《游戲界面設(shè)計專題實踐》課件-知識點5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- 自動扶梯安裝過程記錄
評論
0/150
提交評論