前言:尋找寫作靈感?中文期刊網用心挑選的互聯網突發事件輿情數據爬蟲技術探析,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
[摘要]互聯網是社會突發事件輿情數據的主要載體,對此類數據的收集和分析,對防災減災服務具有重要意義。因此,亟待通過最新爬蟲技術采集互聯網數據,并通過大數據、云計算、地理信息等新技術新方法的運用,充分發揮互聯網突發事件輿情數據的知識價值,實現數據的動態感知、深度挖掘和智能分析。通過研究爬蟲原理和相關技術,確定了基于Jsoup的互聯網突發事件輿情數據采集算法,并實現了數據的采集、處理和存儲。
[關鍵詞]Jsoup;SeleniumWebDriver;突發事件;輿情;爬蟲
1.引言
中國是世界上自然災害發生十分頻繁的少數國家之一,近年來,其他事故災難、公共衛生事件、社會安全事件也頻頻發生,對互聯網中突發事件相關輿情數據的收集和分析成為氣象防災減災的重要構成部分。實踐表明,互聯網輿情數據存在稀疏性、不確定性、模糊性等缺點,但是具有不可替代的多元性、豐富性、動態性和關聯性等特征。鑒于此,亟待通過研究最新爬蟲技術方法,快速、準確采集有效互聯網突發事件輿情數據,充分發揮輿情數據的知識價值,實現輿情信息的動態感知、深度挖掘和智能分析。
2.互聯網突發事件輿情數據
隨著互聯網的發展及新媒體傳播平臺的影響,關注突發事件服務的人群數量不斷增加,能夠及時獲取突發事件信息,有力保證突發事件相關的氣象預警、防災減災等信息及時傳遞給用戶,是氣象服務中極其重要的事。另外,通過互聯網突發事件輿情信息,可以突破人力資源的限制,實現全天24h不間斷監測互聯網信息,并快速發現突發事件災情信息,提高突發事件獲取的時效性,及時獲取第一手資料,以進一步提高突發事件風險預警與評估的實時性和準確性。突發事件輿情數據采集通過確定突發事件關鍵詞和數據源范圍來采集。
2.1突發事件關鍵詞。為了保證從互聯網獲取數據的準確與有效,互聯網突發事件輿情數據將基于突發事件關鍵詞去爬蟲采集。突發事件關鍵詞參照于國家預警信息中心自然災害、事故災難、公共衛生事件、社會安全事件四大類突發事件,確定了137個突發事件關鍵詞。自然災害類突發事件關鍵詞包括洪水、洪澇、決口、垮堤、干旱、氣象災害、暴雨、大雪、龍卷風、沙塵暴、臺風、大風、冰雹、寒潮、高溫、干熱風、干旱、大霧、低溫、霜凍、雷電、雪崩、地震、地質災害、山體崩塌、滑坡、泥石流、地面塌陷、地裂縫、海洋災害、風暴潮、巨浪、海嘯、赤潮、海冰、生物災害、蝗蟲、森林火災、草原火災。事故災難類突發事件關鍵詞包括安全事故、飛行事故、墜機、撞機、緊急迫降、水上突發事件、水上保安事件、撞船、觸礁、鐵路中斷、公路中斷、行車中斷、交通中斷、斷路、港口癱瘓、斷航、大面積停電、電網事故、通信故障、通信中斷、骨干網中斷、支付系統癱瘓、清算系統癱瘓、供氣中斷、停氣、停水、特種設備事故、踩踏、環境污染、生態破壞、輻射污染、取水中斷、化學品泄漏、泄漏、核事故、核事件、污染事故、盜伐、濫伐、毀林開墾、物種滅絕。公共衛生事件類突發事件關鍵詞包括肺鼠疫、肺炭疽、腺鼠疫、非典型肺炎、禽流感、群體性不明原因疾病、新傳染病、毒株丟失、食品安全事故、食物中毒、傳染病疫情、輸入性病例、霍亂、醫源性感染事件、職業中毒、動物疫情、口蹄疫、瘋牛病、豬瘟、新城疫疫情、牛瘟、牛肺疫、非洲豬瘟、非洲馬瘟、布魯氏菌病、結核病、狂犬病、炭疽。社會安全事件類突發事件關鍵詞包括群體性事件、沖擊、圍攻、打砸搶燒、阻斷交通、阻撓施工、聚集事件、大規模游行、集會、絕食、靜坐、請愿、群體性械斗、沖突事件、暴獄事件、游行示威、上訪、多校串聯、非法宗教活動、金融突發事件、涉外突發事件、涉外事件、撤僑、糧食脫銷、市場異常、必需品短缺、恐怖襲擊、核爆炸、爆炸襲擊、劫持平民、大規模襲擊、重大刑事案件。
2.2輿情數據采集數據源。為了保證互聯網采集數據的有效性,突發事件輿情數據源范圍,確定為國家政務網站、社會主流媒體、官方微信微博賬號?;ヂ摼W突發事件輿情數據獲取將從已確定的數據源中,通過突發事件關鍵詞,運用爬蟲技術去采集。政府官網數據源包括中華人民共和國應急信息網、中華人民共和國應急管理部、中華人民共和國生態環境部、中華人民共和國自然資源部、國家煤礦安全監察局、中華人民共和國交通運輸部、中華人民共和國農業農村部、文化和旅游部、人力資源和社會保障部、民政部、新疆生產建設兵團應急管理局、新疆維吾爾自治區應急管理廳、寧夏回族自治區應急管理廳、甘肅省應急管理廳、西藏自治區應急管理廳等。社會主流媒體數據源包括百度新聞、澎湃新聞、中國新聞網、鳳凰網、環球網、新浪新聞、人民日報、中國天氣網、騰訊新聞、網易新聞、中國林業網、光明網、央廣網、搜狐、中國應急、央視網、人民網等。微博、微信公眾號數據源包括人民日報、北京日報、國家應急廣播、中國天氣網、中國氣象數據、廣州天氣等。
3.爬蟲相關技術
3.1爬蟲原理。網絡爬蟲是搜索引擎的重要組成部分,它通過自動提取網頁的程序,為搜索引擎從萬維網上下載網頁。傳統爬蟲流程為從一個或若干初始網頁的URL開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定停止條件[1,2,3]。
3.2爬蟲分類。網絡爬蟲按照系統結構和實現技術,可以分為以下幾種類型:通用網絡爬蟲(General、Purpose、Web、Crawler)、聚焦網絡爬蟲(Focused、Web、Crawler)、增量式網絡爬蟲(Incremental、Web、Crawler)、深層網絡爬蟲(Deep、Web、Crawler)。實際的網絡爬蟲系統通常是幾種爬蟲技術相結合實現的[4,5,6]。通用網絡爬蟲又稱全網爬蟲(Scalable、Web、Crawler),常用于為門戶站點搜索引擎、大型Web服務提供商采集數據,從一些種子、URL或整個WEB中進行爬蟲。聚焦網絡爬蟲(Focused、Crawler),又稱主題網絡爬蟲(Topical、Crawler),通過主題關鍵詞去爬取與主題相關頁面。增量式網絡爬蟲(Incremental、Web、Crawler)是對發生過變化的網頁或者新產生的頁面進行爬蟲。能保證所爬的頁面是新的頁面。
3.3爬蟲技術。Jsoup是一款使用Java語言的HTML解析器,提供了一套用于處理實際HTML的Java庫,可直接解析某個URL地址、HTML文本內容。它使用HTML5最佳DOM方法和CSS選擇器,為獲取URL以及提取和處理數據提供了非常方便的API。使用Jsoup直接獲取網頁源代碼然后獲取元素和內容。WebDriver全稱SeleniumWebDriver[7,8],是目前先進的自動化測試框架。SeleniumWebDriver網頁交互功能強大,通過模擬用戶行為,實現動態的網頁爬取。將獲取到的HTML網頁的半結構化數據通過格式轉換、特殊字符去除、數據合并等操作轉化為結構化數據。
4.輿情信息爬蟲實現
通過對爬蟲原理及爬蟲技術的研究,結合突發事件輿情數據特點,首先確定了數據采集策略,然后確定數據采集步驟、數據采集方法和具體實現過程。具體如下所述。
4.1數據采集策略。由于突發事件關鍵詞太多,一次爬蟲采集過程耗時太長,為了保證爬蟲數據的時效性,對所有突發事件關鍵詞根據重要程度進行分級,共分為三級,爬蟲程序實現多線程執行,并將爬蟲關鍵詞分級分時段處理,按三個級別設置時間間隔。第一級關鍵詞每6小時爬取一次,第二級和第三級關鍵詞每24小時進行爬取,若爬蟲時間過長超過6小時,會在結束后立即開始新一輪爬蟲,以完成分時段分級爬取,有效避免數據產生冗余的同時提高數據采集效率。采集數據的關鍵詞還將按照自然災害、事故災難、公共衛生事件、社會安全事件四個類別進行分類,便于系統對于關鍵詞的內容分析或存儲。
4.2數據采集步驟?;ヂ摼W突發事件輿情數據采集步驟分為四個步驟:一是從數據源列表中獲取網頁信息;二是分析網頁布局與網頁內容;三是根據突發事件關鍵詞及網頁布局,運用爬蟲技術,編寫爬蟲方法獲取網頁數據,并對數據做去重、清洗等處理。四是對處理后的數據進行結構化存儲。
4.3數據采集方法。根據突發事件采集數據源列表,數據源網站包括靜態網頁和動態網頁,通過對爬蟲技術的研究,突發事件輿情數據采集使用的爬蟲技術分為三種類型:一是通過使用Jsoup進行靜態網頁爬取,通過Jsoup直接獲取網頁源代碼然后獲取元素和內容值等。二是對于反爬較嚴重的情況以及動態網頁將通過SeleniumWebDriver(自動測試框架)模擬瀏覽器行為爬取內容。第三,對于反爬技術較低,以及接口暴露的網站將會利用封裝好的HTTP請求發送器對某個接口爬取獲取JSON數據。
4.4數據采集實現。突發事件輿情數據采集實現使用Spring、Boot框架,使用Java語言進行開發,數據庫為postgreSQL。主要分為以下步驟:首先新建Maven項目,在項目里添加需要的工具包,編寫數據庫等配置文件;二是使用HTTPClient獲取網頁信息。通過HTTPClient訪問網頁時,瀏覽器會向網頁所在服務器發起請求并獲取解析響應、返回結果,獲取到網頁HTML頁面數據。三是通過Jsoup工具對HTML頁面信息進行解析。通過對HTTPClient獲取到的網頁信息進行遍歷解析,先通過Documentdoc=Jsoup.parseJsoup.parse(Filein,StringcharsetName,StringbaseUri)方法將HTML解析成一個Document,然后使用Jsoup技術中的Select方法來抽取突發事件關鍵詞相關數據,Select方法將返回一個Elements集合,并返回抽取和處理結果;四是對解析后的數據進行結構化存儲。
5.結語
在深刻理解爬蟲原理和爬蟲技術的基礎上,本文結合互聯網突發事件輿情數據采集需求,制定了采集策略、確定了輿情數據采集方法,并通過使用Spring框架和postgreSQL數據庫,實現了突發事件輿情數據的采集和存儲,后續將根據數據采集結果,進一步優化數據爬蟲方法,實現互聯網突發事件輿情數據的有效、實時的采集。
作者:馮宇星 龐君如 崔磊 曹云龍 石鋒 單位:中國氣象局公共氣象服務中心 中國氣象局減災司公眾處