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

基于webmagic 爬取技術(shù)的西藏主流媒體熱點(diǎn)新聞的獲取

2020-01-08 08:04:48王國慶高紅梅黃法錦白瑪旺久西藏大學(xué)信息科學(xué)技術(shù)學(xué)院西藏拉薩850000
數(shù)碼世界 2020年1期
關(guān)鍵詞:頁面信息

王國慶 高紅梅 黃法錦 白瑪旺久 西藏大學(xué)信息科學(xué)技術(shù)學(xué)院 (西藏 拉薩850000)

1 研究背景

通過調(diào)查研究發(fā)現(xiàn),在西藏自治區(qū)外,大部分人對西藏的物質(zhì)文化和人民生活一知半解。造成此種現(xiàn)象的原因在于獲取西藏信息的渠道太少,人們對西藏的看法與實(shí)際情況存在偏差。但隨著互聯(lián)網(wǎng)的迅猛發(fā)展,爬蟲技術(shù)的日益成熟,通過對西藏主流媒體的爬取來獲取所需要的新聞,不僅能改變外界對于西藏的認(rèn)知和看法,而且有助于向區(qū)外展示和發(fā)揚(yáng)西藏文化,能夠讓人們更加清楚的了解和認(rèn)識到西藏人民多姿多彩的物質(zhì)文化生活。

2 相關(guān)技術(shù)

2.1 Maven 工具

Maven 是一個(gè)針對Java 開發(fā)項(xiàng)目的管理工具,能夠管理項(xiàng)目所依賴的jar 包。它以Jelly 作為自己的腳本語言。包含了一個(gè)項(xiàng)目對象模型(POM),一組標(biāo)準(zhǔn)集合,一個(gè)項(xiàng)目生命周期,一個(gè)依賴管理系統(tǒng)和用來定義在生命周期階段中插件目標(biāo)的邏輯。

2.2 WebMagic 總體框架

WebMagic 是一個(gè)簡單靈活的Java 爬蟲框架, WebMagic 主要包括兩個(gè)包,分別是核心包和擴(kuò)展包。其中核心包(webmagic-core)包含爬蟲基本模塊和基本抽取器,而擴(kuò)展包(webmagic-extension)則提供一些方便編寫爬蟲的工具。同時(shí)內(nèi)置了一些常用組件,便于爬蟲開發(fā)。

WebMagic 是 由Downloader、PageProcessor、Scheduler、Pipeline 四個(gè)組件構(gòu)成的。而Spider 則將四大組件組織起來。

用 于 數(shù) 據(jù) 流 轉(zhuǎn) 的 對 象:(1)Request: Request 是URL 地址 的 封 裝 層,實(shí) 現(xiàn) 了pageprocessor 和Downloader 交 互,是pageprocessor 控制Downloader 的唯一途徑。(2)Page:Page 代表Downloader下載的界面,可以是HTML、JSON或其他文本格式等。(3)Resultitems:Resultitems 負(fù)責(zé)存儲由pageprocessor 處理的結(jié)果以供Pipeline 使用。

WebMagic 總體架構(gòu)如圖1 所示。

4 案例實(shí)現(xiàn)

4.1 具體操作流程

圖2 信息爬取操作流程

4.2 爬蟲準(zhǔn)備工作

如果使用WebMagic 框架來進(jìn)行爬蟲的構(gòu)建,首先需要借助Maven 來創(chuàng)建WebMagic 項(xiàng)目,其次則是在項(xiàng)目的pom.xml 配置文件中添加對象的依賴。

4.3 網(wǎng)頁的下載

對于通用的網(wǎng)頁,Downloader 組件可通過URL 地址直接獲取網(wǎng)頁信息,具體則是通過超鏈接得到對應(yīng)的網(wǎng)頁,然后按照所需要的數(shù)據(jù)字段進(jìn)行抽取,將獲得的字段為空的數(shù)據(jù)舍棄,將所獲得的完整的數(shù)據(jù)存儲到MySQL 數(shù)據(jù)庫中。循環(huán)重試機(jī)制會把下載失敗的URL 再次放在隊(duì)尾進(jìn)行重試,直到超過所設(shè)置的重試次數(shù)為止,循環(huán)重試機(jī)制和設(shè)置重試次數(shù)可以有效解決因?yàn)槟承┚W(wǎng)絡(luò)原因而漏抓頁面的問題。

4.4 信息的抽取

PageProcessor 組件負(fù)責(zé)解析頁面,抽取有用的信息,以及發(fā)現(xiàn)新的鏈接。它可以根據(jù)用戶的需求來定制所需要的PageProcessor。其定制的功能主要分為三大部分:

(1)對爬蟲的配置,包括:配置帶爬取網(wǎng)站的編碼、Http 頭、超時(shí)時(shí)間、重試策略、代理等信息。

(2)爬蟲最為重要的部分則是頁面元素的抽取,對于已經(jīng)下載的頁面,主要采取三種抽取方式,分別為CSS 選擇器、Xpath 和正則表達(dá)式。代碼實(shí)現(xiàn):

page.putField("div",page.getHtml().css("div1.headline h1").all());

//以css 抽取方式抽取div 標(biāo)簽下class 為headline 中的h1標(biāo)簽。

page.putField("div2",page.getHtml().xpath("http://div[@id=qds_boxb1]/ul/li/a"));//以Xpath 抽取方式抽取div 標(biāo)簽下的id 為qds_boxb1 下的a 標(biāo)簽。

Page.putField(key: "div3",page.getHtml().css(selector:"div#demo1 li").Regex(".*中國特色社會主義.*").all());

//css 和正則表達(dá)式抽取方式混合使用來抽取。

(3)獲取鏈接則是第三個(gè)需要解決的問題,應(yīng)采用適合的方法來篩選出所需要的鏈接并將其加入到待抓取的隊(duì)列中。

page.addTargetRequests(page.getHtml().css("div.jdyw").links().all()); //獲取class 為jdyw下的URL

page.putField("url",page.getHtml().css("div.tbig_title h1").all());

//獲取URL 中class 為tbig_title下h1 標(biāo)簽中的內(nèi)容。

4.5 URL 的管理與去重

數(shù)據(jù)的抓取過程中需要對已經(jīng)抓取的、重復(fù)的URL 隊(duì)列進(jìn)行管理,Scheduler 組件負(fù)責(zé)管理待抓取的URL,以及一些去重的工作。URL 有二種去重方式,一是HashSet,使用Java 中的HashSet不能重復(fù)的特點(diǎn)去重,優(yōu)點(diǎn)是容易理解,使用方便。缺點(diǎn)是占用內(nèi)存大,性能較低。二是布隆過濾器,使用布隆過濾器也可以實(shí)現(xiàn)去重,優(yōu)點(diǎn)是占用的內(nèi)存要比使用HashSet 要小的多,也適合大量數(shù)據(jù)的去重操作。缺點(diǎn)是有誤判的可能。除非項(xiàng)目有特殊需求,否則無需定制Scheduler。

4.6 抽取結(jié)果的處理

Pipeline 組件負(fù)責(zé)抽取結(jié)果的處理,包括計(jì)算、持久化到文件、數(shù)據(jù)庫等。采用Pipeline 來處理抽取結(jié)果,有兩個(gè)重要的原因:(1)頁面抽取與后處理相分離,分離這兩個(gè)階段使得模塊化結(jié)構(gòu)更加明顯,代碼結(jié)構(gòu)更加清晰。(2)Pipeline 的功能相對固定,更易做成通用組件。WebMagic 默認(rèn)提供了“輸出到控制臺”和“保存到文件”兩種結(jié)果處理方案。Pipeline 定義了如何保存結(jié)果,如果要保存到指定的數(shù)據(jù)庫,則需編寫對應(yīng)的Pipeline。

5 新聞數(shù)據(jù)分析與可視化

即進(jìn)一步對已經(jīng)保存在MySQL 中的新聞數(shù)據(jù)進(jìn)行分析統(tǒng)計(jì),整理分類,通過使用Dreamweaver 軟件用PHP 語言來制作動態(tài)網(wǎng)頁與MySQL 相連。將所爬取到的新聞信息通過網(wǎng)頁的方式呈現(xiàn)給用戶。所爬取到的新聞將會進(jìn)行分類,用戶通過對網(wǎng)頁的訪問,以及利用關(guān)鍵字進(jìn)行檢索,將會獲取不同類別的新聞。

6 總結(jié)和展望

通過對以WebMagic 為框架構(gòu)建爬蟲,以Maven 技術(shù)管理Java 項(xiàng)目的研究,實(shí)現(xiàn)了對西藏主流媒體熱點(diǎn)新聞的爬取和存儲,在爬取過程中,可能會遇到內(nèi)部網(wǎng)絡(luò)不允許訪問外網(wǎng)的情況,這時(shí)就需要設(shè)置代理IP。有些網(wǎng)絡(luò)服務(wù)器反感爬蟲,會對請求頭做個(gè)簡單判別,直接拒絕那些明顯是由自動化程序發(fā)起的請求,為了避免自動化程序被拒絕,在請求時(shí),可以修改請求頭,讓自動化程序更像一個(gè)瀏覽器。

此爬蟲系統(tǒng)能夠使用戶更加全面的獲知和了解西藏主流媒體上的熱點(diǎn)新聞,促進(jìn)了人們對于西藏地區(qū)物質(zhì)文化與人民生活的了解,改善了人們心中對于西藏的認(rèn)知和看法。

猜你喜歡
頁面信息
微信群聊總是找不到,打開這個(gè)開關(guān)就好了
大狗熊在睡覺
刷新生活的頁面
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導(dǎo)航技術(shù)
其實(shí)IE也懂Chrome的心
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 色噜噜狠狠色综合网图区| 狠狠色丁婷婷综合久久| 91精品啪在线观看国产60岁 | 亚洲第一香蕉视频| 深爱婷婷激情网| 国产精品视频观看裸模| 玖玖精品视频在线观看| 国产精品999在线| 色婷婷综合激情视频免费看| 亚洲AV一二三区无码AV蜜桃| 亚洲愉拍一区二区精品| 香蕉综合在线视频91| 久久久成年黄色视频| 欧美日在线观看| 99福利视频导航| 精品少妇人妻一区二区| 欧美精品黑人粗大| 国产精品va免费视频| 亚洲天堂网在线视频| 国产一级视频在线观看网站| 欧美啪啪网| 亚洲乱码精品久久久久..| 亚洲第一成年免费网站| 久久亚洲天堂| 欧美在线三级| 国产精品第一区在线观看| 亚洲无码久久久久| 在线国产毛片| 国产成人精品日本亚洲77美色| 在线欧美国产| 干中文字幕| 成人年鲁鲁在线观看视频| 丰满人妻一区二区三区视频| 日韩精品无码免费专网站| 国产一级毛片网站| 操国产美女| 喷潮白浆直流在线播放| 亚洲色图欧美在线| 国产精品妖精视频| 爽爽影院十八禁在线观看| 欧美中文一区| 国产成人禁片在线观看| 99久久精品无码专区免费| 91九色最新地址| 国产成人1024精品下载| 久久婷婷色综合老司机| 亚洲婷婷丁香| 国产剧情一区二区| 尤物精品视频一区二区三区| 久久这里只有精品免费| 亚洲午夜综合网| 免费看的一级毛片| 中国一级特黄大片在线观看| 欧美日韩在线亚洲国产人| 97综合久久| 亚洲性日韩精品一区二区| 国产最新无码专区在线| 亚洲黄网在线| 亚洲精品国产首次亮相| 91亚洲视频下载| 国产成人91精品| 国产欧美日韩精品综合在线| 国产导航在线| 国产在线精品人成导航| 啪啪永久免费av| 国产微拍一区| 久久精品国产亚洲AV忘忧草18| 亚洲综合久久成人AV| 国产精品视屏| 亚洲国产成人久久77| 久久精品国产电影| 美女免费黄网站| 国产精品一线天| 精品国产免费观看一区| 亚洲一级色| 国产精品护士| 国产污视频在线观看| 久久五月视频| 精品乱码久久久久久久| 久久国语对白| 国产亚洲日韩av在线| 国产农村精品一级毛片视频|