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

?

網(wǎng)絡(luò)爬蟲在采集崗位招聘數(shù)據(jù)方面的應(yīng)用實踐

2018-01-04 10:59:48湯義好
電腦知識與技術(shù) 2018年28期
關(guān)鍵詞:大數(shù)據(jù)

湯義好

摘要: 現(xiàn)代教學(xué)設(shè)計理論認為優(yōu)化教學(xué)過程,可以更好有效地達成教學(xué)目標,提高教學(xué)效率。文章闡述了在崗位分析系統(tǒng)中如何利用網(wǎng)絡(luò)爬蟲框架WebMagic不斷地從網(wǎng)絡(luò)采集崗位招聘數(shù)據(jù),并保存到HBase數(shù)據(jù)庫的一個過程。

關(guān)鍵詞:大數(shù)據(jù);崗位招聘;WebMagic

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)28-0008-02

大學(xué)生最關(guān)心的莫過于就業(yè),高校的數(shù)字化建設(shè)日漸成熟,大數(shù)據(jù)在就業(yè)方面的應(yīng)用正處在積極探索階段。可以說數(shù)據(jù)采集是大數(shù)據(jù)應(yīng)用開發(fā)的一個重要環(huán)節(jié),如果沒有數(shù)據(jù),處理分析也就無從談起。下面我們就來討論下如何進行數(shù)據(jù)采集。

1 數(shù)據(jù)采集的來源與工具

就業(yè)信息主要來自網(wǎng)絡(luò)和學(xué)校招聘,主要的崗位數(shù)據(jù)源于網(wǎng)絡(luò),需要有一套采集軟件也就是爬蟲。爬蟲有很多,綜合考慮WebMagic是一個無序配置、便于二次開發(fā)的爬蟲框架,其提供簡單靈活的API,只需要少量代碼既可以實現(xiàn)。數(shù)據(jù)抓取時序圖如圖1所示。

Downloader負責從互聯(lián)網(wǎng)上下載頁面,以便后續(xù)處理。WebMagic默認使用Apache HttpClient作為下載工具。PageProcessor負責解析頁面,抽取有用的信息,以及發(fā)現(xiàn)新的鏈接。WebMagic使用Jsoup作為HTML解析工具,并基于其開發(fā)了解析XPath的工具Xsoup。PageProcessor對于每個站點每個頁面的解析都不一樣,是需要使用者定制的部分。Scheduler負責調(diào)度,一般無須自己定制。Pipeline負責抽取結(jié)果的處理,包括計算、持久化到文件、數(shù)據(jù)庫等。默認提供了輸出到控制臺和保存到文件兩種結(jié)果處理方案。

2 如何實施爬取任務(wù)

(1) 解析崗位列表源代碼

定制基于Java的WebMagic爬蟲框架抓取招聘網(wǎng)站上根據(jù)崗位的關(guān)鍵詞如“大數(shù)據(jù)”搜索出的崗位結(jié)果。列出的關(guān)于關(guān)鍵詞搜索出來的列表就是爬蟲抓取的起始頁??梢酝ㄟ^添加后續(xù)鏈接的URL至爬取隊列,使得爬蟲按照要求一步步循環(huán)下去。這里需要添加的鏈接便是崗位的信息頁,以及后續(xù)列表分頁。分析頁面中的相同項,可以發(fā)現(xiàn)所需要的URL是一個唯一的超鏈接,記下標簽的樣式名稱交給Xpath識別,并添加至抓取列,實現(xiàn)代碼如下。

select = page.getHtml().xpath(“//p[@class = t1 ]”);

urls = select.links().all();

page.addTargetRequests(urls);

需要注意的是,要防止添加空白搜索結(jié)果頁的鏈接,否則將會把整個招聘網(wǎng)站的崗位全部抓取下來。所以需要添加提出隊列的保護機制,代碼如下:

Iteratror it= urls.iterator();

while(it.hasNext()){

String x = it.next();

If(x.equals(“http://...”)){

it.remove();

}

}

page.addTargetRequest(urls);

(2) 解析崗位信息頁面

需要爬取的崗位信息包括職位名稱、發(fā)布時間、是否洗數(shù)據(jù)、編號、工作地點、工作經(jīng)驗、薪資、招聘人數(shù)、學(xué)歷、崗位描述、職能類別、公司名稱、公司性質(zhì)、公司行業(yè)、公司規(guī)模等。由于格式基本差不多可以json配置項的方式將某個點的正則保存在一起,方便調(diào)用。WebMagic框架可以根據(jù)獲取的正則定位相關(guān)的內(nèi)容。具體代碼如下:

page.putField("jobname", page.getHtml().xpath("http://div[@class='cn']/h1/text()").toString());

page.putField("name", page.getHtml().xpath("http://p[@class='cname']/a/text()").toString());

(3) 根據(jù)條件保存抓取到的信息

根據(jù)條件篩選崗位信息,比如已經(jīng)列出的一些培訓(xùn)機構(gòu)的“公司黑名單”,保存在數(shù)組中,那么就可以使用簡單的if語句來判斷。對于發(fā)布日期,僅需要保留當天或本周發(fā)布的招聘信息。篩選完成便可以將抓取內(nèi)容選擇性的保存到本地的某個文件中。也可以將結(jié)果保存到HDFS和HBase數(shù)據(jù)庫中,這樣更有助于后面的大數(shù)據(jù)處理。

(4) 運行主程序

WebMagic的核心組件為PageProcessor與Pipeline。用戶可以自己定制這兩個組件,而調(diào)用這兩個核心組件是通過Spider類,其簡單的代碼如下:

Spider.create(new CrawlJob())

.addUrl(URL_START)

.addPipleline(new PipelineJob()).thread(5).run();

可以借助系統(tǒng)的定時服務(wù)來實現(xiàn)程序的定時爬取功能使用代碼如下:

public ServiceState start() {

initializer = new InitializeService(this);

initializer.start();

services.add(initializer);

Service jobAnalyzer = new JobAnalysisService(this, initializer);

jobAnalyzer.start();

猜你喜歡
大數(shù)據(jù)
基于在線教育的大數(shù)據(jù)研究
中國市場(2016年36期)2016-10-19 04:41:16
“互聯(lián)網(wǎng)+”農(nóng)產(chǎn)品物流業(yè)的大數(shù)據(jù)策略研究
中國市場(2016年36期)2016-10-19 03:31:48
基于大數(shù)據(jù)的小微電商授信評估研究
中國市場(2016年35期)2016-10-19 01:30:59
大數(shù)據(jù)時代新聞的新變化探究
商(2016年27期)2016-10-17 06:26:00
淺談大數(shù)據(jù)在出版業(yè)的應(yīng)用
今傳媒(2016年9期)2016-10-15 23:35:12
“互聯(lián)網(wǎng)+”對傳統(tǒng)圖書出版的影響和推動作用
今傳媒(2016年9期)2016-10-15 22:09:11
大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
科技視界(2016年20期)2016-09-29 10:53:22
數(shù)據(jù)+輿情:南方報業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
遵义县| 曲麻莱县| 仁寿县| 长阳| 巴中市| 乌拉特中旗| 无锡市| 湄潭县| 酉阳| 象山县| 黑水县| 青海省| 宝应县| 从化市| 明水县| 吉安县| 宜城市| 平度市| 南宁市| 富宁县| 错那县| 安乡县| 淮阳县| 绥滨县| 大同县| 本溪市| 荃湾区| 洛隆县| 天门市| 集贤县| 汉中市| 朝阳市| 南安市| 佛坪县| 杭锦后旗| 万山特区| 武义县| 新巴尔虎右旗| 固始县| 固安县| 特克斯县|