999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python爬蟲技術(shù)的IT類畢業(yè)生求職數(shù)據(jù)抓取與分析研究

2018-12-28 20:41:40席一
科學(xué)與財(cái)富 2018年30期
關(guān)鍵詞:數(shù)據(jù)分析

摘要:在分析網(wǎng)絡(luò)時(shí)代爬蟲技術(shù)的基礎(chǔ)上,介紹了基于python語言爬蟲技術(shù)的基本情況及其特性,并列舉了利用python語言編寫爬蟲程序?qū)η俺虩o憂網(wǎng)的IT類求職數(shù)據(jù)行了爬取,對(duì)爬取的數(shù)據(jù)進(jìn)行了統(tǒng)計(jì)分析, 得出相關(guān)結(jié)論。

關(guān)鍵詞:Python;Scrapy;爬蟲技術(shù);數(shù)據(jù)分析;就業(yè)推薦

1.引言

隨著大數(shù)據(jù)時(shí)代的發(fā)展,網(wǎng)絡(luò)上有價(jià)值信息的讀取和解析漸漸成為成功挖掘數(shù)據(jù)的基礎(chǔ)性工作。面對(duì)互聯(lián)網(wǎng)上各種格式的網(wǎng)頁和網(wǎng)頁開發(fā)者不同的設(shè)計(jì)思路,網(wǎng)絡(luò)爬蟲技術(shù)在近年來獲得了人們?cè)絹碓蕉嗟年P(guān)注和研究,爬蟲技術(shù)的發(fā)展驅(qū)動(dòng)了現(xiàn)代的大數(shù)據(jù)網(wǎng)絡(luò)時(shí)代。爬蟲技術(shù)是一把利用網(wǎng)絡(luò)上龐大的數(shù)據(jù)資源的利器,通過構(gòu)造爬蟲,不僅可以連接數(shù)據(jù)和解析數(shù)據(jù),還可以將這些數(shù)據(jù)進(jìn)行分析并將分析結(jié)果利用圖表進(jìn)行展示。爬蟲可以實(shí)現(xiàn)網(wǎng)頁之間的連接,構(gòu)建整個(gè)網(wǎng)站的地圖映射。除此之外,爬蟲不會(huì)遺漏擴(kuò)展的鏈接,會(huì)繼續(xù)對(duì)其進(jìn)行跟蹤。

中國(guó)IT產(chǎn)業(yè)在過去5年的時(shí)間里,經(jīng)歷了28%的年增長(zhǎng)速度,比同期的國(guó)家GDP增長(zhǎng)速度的3倍,IT產(chǎn)業(yè)占全國(guó)工業(yè)比重達(dá)到12.3%,占GDP的9.1%,成為第一大產(chǎn)業(yè)。伴隨著行業(yè)的發(fā)展,IT人才的短缺現(xiàn)象將會(huì)越來越嚴(yán)重。據(jù)估計(jì),目前中國(guó)市場(chǎng)對(duì)IT人才的需求每年超過50萬人。而國(guó)內(nèi)目前的IT教育主要是高等學(xué)校計(jì)算機(jī)、電子、電信、信息技術(shù)等相關(guān)專業(yè)的學(xué)歷教育,每年培養(yǎng)的大學(xué)畢業(yè)生約為5萬,遠(yuǎn)遠(yuǎn)不能滿足市場(chǎng)的需求。

前程無憂網(wǎng)作為國(guó)內(nèi)最大的招聘網(wǎng)站之一,所擁有的信息極其龐大,令人眼花繚亂、無從選擇。在大數(shù)據(jù)的時(shí)代下,Python語言充分的展示出了它的優(yōu)勢(shì),在科學(xué)計(jì)算、文件處理、數(shù)據(jù)分析等領(lǐng)域越來越凸顯其價(jià)值。使用Python對(duì)前程無憂網(wǎng)IT類招聘信息中的薪資數(shù)據(jù)、職位信息、工作經(jīng)驗(yàn)等信息的搜集,利用Scrapy抓取這些招聘信息并用Pandas對(duì)數(shù)據(jù)進(jìn)行清理,通過對(duì)這些數(shù)據(jù)的分析,可以為IT類求職者推薦求職崗位和就業(yè)城市,讓IT類求職者對(duì)選擇求職崗位和就業(yè)城市有一個(gè)大致的判斷。

2.求職網(wǎng)站面臨的問題

2.1招聘信息魚龍混雜

求職者打開招聘網(wǎng)站會(huì)發(fā)現(xiàn),求職信息太多以至于不知道如何取舍。比如選擇IT類的職位,應(yīng)該選擇哪個(gè)崗位呢?是JAVA開發(fā)工程師,亦或是前端開發(fā)工程師?選擇崗位無非最關(guān)心的就是薪資待遇,不僅僅是目前的薪資待遇,還有在未來幾年薪資的上升空間。這些東西是招聘網(wǎng)站所不能直接體現(xiàn)的。

2.2崗位需求量

當(dāng)求職者尋找工作時(shí),往往會(huì)關(guān)心自己在這份工作中到底具有多少競(jìng)爭(zhēng)力,拋開求職者本身的能力,競(jìng)爭(zhēng)力的另一個(gè)體現(xiàn)就是這份工作到底需要多少人,需要的人越多,競(jìng)爭(zhēng)就越小,就越容易找到工作。就招聘網(wǎng)站而言需要數(shù)據(jù)為求職者提供選擇工作的依據(jù)

2.3各城市的同一崗位的比較性

對(duì)于求職者來說,除了薪資的增長(zhǎng)起伏和競(jìng)爭(zhēng)力,還有一個(gè)重要的因素,那就是求職者希望的工作城市,雖然網(wǎng)絡(luò)上總是有報(bào)道說這個(gè)城市收入水平達(dá)到多少,物價(jià)達(dá)到多少。但是,求職者不僅僅關(guān)心收入水平,也希望知道自己選擇的崗位更應(yīng)該去哪個(gè)城市工作。

3 解決方案

3.1 解決思路

獲取到前程無憂網(wǎng)IT類的招聘信息后,針對(duì)IT類畢業(yè)生遇到的求職信息獲取等問題,提供以下解決思路:

(1)薪資增長(zhǎng)情況:將獲取到的招聘信息以城市和崗位為條件分組,計(jì)算每一組在不同工作經(jīng)驗(yàn)的最低薪資和最高薪資的平均水平。

(2)崗位需求量:將獲取到的招聘信息以城市和崗位為條件分組,計(jì)算每一組的崗位需求人數(shù)總和。

(3)同一崗位在不同城市的比較性:將獲取到的招聘信息以城市和崗位為條件分組,然后計(jì)算一個(gè)比較性的期望值,這個(gè)比較性的期望值通過公式“1/工作經(jīng)驗(yàn)?zāi)晗迣?duì)應(yīng)的數(shù)值*平均工資*需求人數(shù)(滿足工資高,需求人數(shù)多,工作經(jīng)驗(yàn)低,推薦指數(shù)越高的原則)”計(jì)算而得。

3.2 數(shù)據(jù)獲取

本文通過基于Python的Scrapy框架編寫爬蟲,編寫爬蟲前先去前程無憂網(wǎng)站分析頁面的url請(qǐng)求序列,方便整理出編寫爬蟲邏輯。然后根據(jù)頁面信息和研究目的設(shè)計(jì)數(shù)據(jù)庫(kù)字段。再根據(jù)數(shù)據(jù)庫(kù)字段,配置item、根據(jù)頁面請(qǐng)求到的數(shù)據(jù)配置Field()進(jìn)行數(shù)據(jù)存入前處理。接著根據(jù)url請(qǐng)求的序列設(shè)計(jì)不同的回調(diào)函數(shù),并發(fā)起不同的請(qǐng)求獲取返回item。然后創(chuàng)建Proxy、UserAgent下載器實(shí)現(xiàn)動(dòng)態(tài)瀏覽器頭、隨機(jī)代理ip,失敗后更換ip繼續(xù)請(qǐng)求,提高爬蟲的存活率和數(shù)據(jù)采集完整性。最后使用線程池獲取數(shù)據(jù)庫(kù)連接并保存數(shù)據(jù)到mysql數(shù)據(jù)庫(kù)。以下時(shí)獲取數(shù)據(jù)的關(guān)鍵代碼:

allowed_domains = ['51job.com']

start_urls=[‘https://search.51job.com/list/030800%252C230300%252C230200%252C070300%252C250200,000000,0000,01%252C37%252C38%252C40%252C32,9,99,%2520,2,1.html']

def parse(self, response):

post_urls=response.css("#resultList .el .t1").xpath('.//a/@href').extract()

for post_url in post_urls:

yield Request(url=parse.urljoin(response.url,post_url),callback=self.parse_detail)

next_url = response.css(".dw_page ul li:last-child a::attr(href)").extract_first('')

if next_url:

yield Request(url=parse.urljoin(response.url, next_url), callback=self.parse)

def parse_detail(self, response):

item_loader = TempDataItemLoader(item=TempDataItem(), response=response)

url = response.url

salary_id = re.match(r'.*/(\d*).html', url, re.I)

item_loader.add_value('salary_id', salary_id.group(1))

3.3 數(shù)據(jù)處理

當(dāng)數(shù)據(jù)獲取成功后,就需要把這些數(shù)據(jù)形成直觀的的圖表了,這里使用了Echarts.js插件。Echarts.js這個(gè)開源可視化庫(kù)提供的一系列圖表,為此爬蟲的數(shù)據(jù)展示提供了良好的支持。首先使用Django的ORM查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù),這里只對(duì)就業(yè)推薦功能做以下說明:

當(dāng)使用Django查詢出數(shù)據(jù)后發(fā)現(xiàn),Django的ORM對(duì)復(fù)雜查詢與計(jì)算的支持并不好,于是采用了Pandas庫(kù)。

# 將數(shù)據(jù)庫(kù)查出的數(shù)據(jù)轉(zhuǎn)換為Pandas的數(shù)據(jù)格式

df = pandas.DataFrame(list(salary_data))

# 使用pandas提供的函數(shù)對(duì)數(shù)據(jù)進(jìn)行清洗,將將復(fù)雜數(shù)據(jù)替換成數(shù)字。

df = df.replace({'1年經(jīng)驗(yàn)': '1', '2年經(jīng)驗(yàn)': '2', '3-4年經(jīng)驗(yàn)': '3', '5-7年經(jīng)驗(yàn)': '4', '8-9年經(jīng)驗(yàn)': '5', '10年以上經(jīng)驗(yàn)': '6'})

# 將數(shù)據(jù)以城市分組

grouped = df.groupby('city__name')

#遍歷每一個(gè)城市下,求出平均薪資和平均需求人數(shù)

for city__name, group in grouped:

experience_value = 0

for experience, s in group.groupby('experience'):

# mean()函數(shù)用來計(jì)算平均數(shù)(計(jì)算平均薪資 和平均需求人數(shù))

s = s.mean()

# 就業(yè)推薦指數(shù)

experience_value += round(1 / int(experience), 6) *int(s['avg_salary']) * int(s['people_count'])

3.4 處理結(jié)果

首頁會(huì)每過5秒就隨機(jī)更換一個(gè)城市各IT職位的需求人數(shù)以及某城市某一職位不同工作經(jīng)驗(yàn)的薪資增長(zhǎng)情況,如圖1所示。

薪資起伏頁面,展示的是搜索某一城市的某一職位,如蘇州的python職位就會(huì)呈現(xiàn)這個(gè)職位的不同工作經(jīng)驗(yàn)的薪資增長(zhǎng)情況,如圖2所示。

需求人數(shù)頁面,展示了搜索某一職位呈現(xiàn)這個(gè)職位在不同城市的需求人數(shù)以及平均最高薪資和平均最低薪資,如圖3所示。

推薦就業(yè)頁面展示的是搜索某一職位會(huì)出現(xiàn)這一職位在不同城市的推薦指數(shù)。這個(gè)指數(shù)根據(jù)公式:1/工作經(jīng)驗(yàn)?zāi)晗迣?duì)應(yīng)的數(shù)值*平均工資*需求人數(shù)(滿足工資高,需求人數(shù)多,工作經(jīng)驗(yàn)低,推薦指數(shù)越高的原則),如圖4所示。

4 結(jié)語

在大數(shù)據(jù)時(shí)代,數(shù)據(jù)分析往往能得到一些事物的規(guī)律,在大數(shù)據(jù)的分析結(jié)果下,人們往往能依據(jù)其中的某些規(guī)律,為自己的選擇提供一定的參考。通過爬取前程無憂招聘網(wǎng)站的數(shù)據(jù),分析出IT類行業(yè)的不同職位的一個(gè)招聘狀況,在一定程度上有效為IT類應(yīng)屆畢業(yè)生的就業(yè)選擇提供了直觀的數(shù)據(jù)參考,幫助IT類應(yīng)屆畢業(yè)生選擇自己的工作城市和職位。

參考文獻(xiàn):

[1]王全勝.Python在校園數(shù)據(jù)分析中的應(yīng)用--以一卡通消費(fèi)為例[J].電腦知識(shí)與技術(shù),2017(3)1-2.

[2]涂小琴.基于Python爬蟲的電影評(píng)論情感傾向性分析[J].研究與開發(fā),2017(12)52-54.

[3]魏冬梅,何忠秀,唐建梅.基于Python的Web信息獲取方法研究[J].軟件導(dǎo)刊,2018(1)41-43.

[4]陳智,梁娟.基于Python的微博發(fā)表意向預(yù)測(cè)研究[J].智能處理與應(yīng)用.2018(4)56-59.

[5]熊暢.基于Python爬蟲技術(shù)的網(wǎng)頁數(shù)據(jù)抓取與分析研究[J].數(shù)字技術(shù)與應(yīng)用.2017(2)12-14.

[6]趙麗娜.基于Python爬蟲的借閱數(shù)據(jù)獲取[J].北華航天工業(yè)學(xué)院學(xué)報(bào).2018(8)61-62.

作者簡(jiǎn)介:席一(1979~),男,山東聊城人,重慶第二師范學(xué)院數(shù)學(xué)與信息工程學(xué)院,講師,碩士。

基金項(xiàng)目:重慶第二師范學(xué)院首批輔導(dǎo)員工作精品項(xiàng)目:“三源整合,六室聯(lián)動(dòng)”,探索“互聯(lián)網(wǎng)+”形勢(shì)下高校創(chuàng)新創(chuàng)業(yè)教育模式(項(xiàng)目編號(hào)201604);2018年重慶市教育委員會(huì)人文社會(huì)科學(xué)研究項(xiàng)目:思想政治教育角度下的大學(xué)生創(chuàng)新創(chuàng)業(yè)教育研究(項(xiàng)目編號(hào)18SKSZ042)。

猜你喜歡
數(shù)據(jù)分析
我校如何利用體育大課間活動(dòng)解決男生引體向上這個(gè)薄弱環(huán)節(jié)
Excel電子表格在財(cái)務(wù)日常工作中的應(yīng)用
淺析大數(shù)據(jù)時(shí)代背景下的市場(chǎng)營(yíng)銷策略
新常態(tài)下集團(tuán)公司內(nèi)部審計(jì)工作研究
淺析大數(shù)據(jù)時(shí)代對(duì)企業(yè)營(yíng)銷模式的影響
基于讀者到館行為數(shù)據(jù)分析的高校圖書館服務(wù)優(yōu)化建議
科技視界(2016年22期)2016-10-18 14:37:36
主站蜘蛛池模板: 999福利激情视频| 欧美日韩专区| 色婷婷成人网| 国产91熟女高潮一区二区| 欧美日韩专区| 亚洲中文字幕日产无码2021| 91精品aⅴ无码中文字字幕蜜桃| 中文字幕亚洲精品2页| 视频一本大道香蕉久在线播放| 久久国产亚洲偷自| 色欲综合久久中文字幕网| 免费毛片全部不收费的| 久综合日韩| 国产制服丝袜无码视频| 香蕉国产精品视频| 亚洲熟女偷拍| 女人18毛片一级毛片在线 | 91po国产在线精品免费观看| 国产日韩精品一区在线不卡 | 婷婷综合在线观看丁香| 亚洲国产精品国自产拍A| 国产亚洲视频免费播放| 久久国产成人精品国产成人亚洲 | 国产精品香蕉在线观看不卡| 亚洲三级网站| 亚洲人成影视在线观看| 99热精品久久| 69精品在线观看| 88av在线看| 日韩精品无码免费一区二区三区| 日本91视频| 国产91精选在线观看| 全午夜免费一级毛片| 精品色综合| 久久国产精品麻豆系列| 国产成人久久综合777777麻豆| 99精品国产电影| 中文字幕天无码久久精品视频免费| 亚洲无码精品在线播放| 久久一色本道亚洲| 欧美日韩一区二区三区四区在线观看| 成·人免费午夜无码视频在线观看| 在线亚洲小视频| 高潮爽到爆的喷水女主播视频 | 国产色网站| 美女免费黄网站| 免费看av在线网站网址| 中文字幕亚洲综久久2021| 青草国产在线视频| 亚洲av无码专区久久蜜芽| 老司机aⅴ在线精品导航| 亚洲欧美激情小说另类| 重口调教一区二区视频| 国产99欧美精品久久精品久久| 五月六月伊人狠狠丁香网| 秋霞国产在线| 日本91视频| 午夜影院a级片| 中文国产成人精品久久| 亚洲欧洲综合| 毛片在线播放a| 欧美亚洲国产日韩电影在线| 国产乱子精品一区二区在线观看| 中国美女**毛片录像在线| 在线国产91| 欧美成人第一页| 伊人久久婷婷五月综合97色| 国产一区二区人大臿蕉香蕉| 国产成人精品三级| 亚洲天堂网视频| 国产手机在线小视频免费观看| 亚洲高清无在码在线无弹窗| 日本91在线| www亚洲天堂| 国产在线八区| 亚洲日韩精品综合在线一区二区| 亚洲电影天堂在线国语对白| 亚洲成肉网| 久久免费精品琪琪| 欧美午夜在线观看| 天天干天天色综合网| A级全黄试看30分钟小视频|