




摘要:隨著網絡信息技術的飛速發展,住房公積金咨詢和回答已不再僅限于傳統的線下進行,更多的人選擇在安居客、58同城等房產交易網站提問討論。為進一步提高公積金中心的服務水平,通過編寫Python爬蟲代碼,獲取輿情信息并能通過統計得到輿情分析,并生成可視化圖表,發現公積金業務的熱點和難點,為住房公積金決策提供依據,為《住房公積金管理條例》修訂提供依據。
關鍵詞:網絡爬蟲;Python;輿情分析;數據采集;可視化分析
0引言
當前,伴隨著互聯網技術的迅猛發展與網絡民意表達的日漸主流化,網絡輿情已越來越成為中國社會傳遞社情民意的一支重要力量。本研究在對安居客中安康公積金網上問答網頁進行爬取的基礎上,結合Python文本分析,通過分析可以了解民眾所關心的安康公積金熱點話題,有效監控輿情動態。為安康市住房公積金中心進一步提高服務質量增加有力的幫助。
該方案,不但在獲取民意的真實性和廣泛性上有優勢,而且在新冠疫情時期也是最經濟,最快捷和方便的優選方案。然而,一方面,爬取網站制定的反爬蟲策略限制用戶訪問頻率,數據獲取難度大;另一方面,問答語言具有碎片化、多樣性、凝練性等特點[1],增大了情感分析的難度。同時由于我國互聯網發展較晚,網絡輿情監控方面的研究也較晚,且成果參差不齊[2]。以影響力較大的房產信息網站“安居客”為例,其公積金政策搜索功能有明顯缺陷,不能高效的搜索公積金熱點問題和解答,并且無法導出問答文本,不支持智能情感分析,用戶只能查看該關鍵詞,卻無法得知網友的情感動態。文章解決了以上兩個問題并針對現有輿情監控平臺的缺陷進行了改進,從文本抓取、數據處理、情感分析、可視化展示四個方面出發,設計了一個基于網絡爬蟲和文本處理的輿情分析系統。
1網絡爬蟲簡介
網絡爬蟲又稱為網絡蜘蛛,是一種按照一定的規則,自動抓取萬維網信息的程序或腳本[3],基本原理是模擬計算機對服務器發起Requests請求,然后接收服務器端返回的Response內容對其進行解析,以提取所需信息。根據網絡爬蟲爬取的對象和范圍不同可將其分為通用網絡爬蟲和聚焦網絡爬蟲(即主題網絡爬蟲)[4],其中,通用網絡爬蟲爬取目標范圍廣,通常用于搜索引擎;而聚焦網絡爬蟲則是針對某個特定目標和主題進行爬取[5]。Python因其語言的簡潔性、易讀性以及可擴展性[6],在編寫網絡爬蟲時具有其他語言不可比擬的優勢,其強大的第三方庫不僅極大節省了開發人員編寫修改代碼的時間,還支持數據清洗和可視化,為后期的數據整理和分析提供了便捷,因此,本文采取Python語言編寫爬蟲代碼,采用主題爬蟲的策略來實現輿情信息的批量獲取。
2架構設計
本文程序包括四部分:數據抓取模塊,文本處理模塊,數據分析模塊和數據可視化模塊。
獲取相應網站的信息首先需要手動翻頁,通過觀察列表頁的URL,找到URL的構成規律;然后通過循環語句,依次將URL取出;最后抓取URL頁面相應的數據并存儲在本地進行數據清洗及分析。本文以安居客網站為例,通過編寫爬蟲程序抓取“安康”、“公積金”相關的問答信息,獲取的信息包括提出的問題、最好答案、回答次數、答案關鍵字、發布日期等,并將抓取的就業信息保存在CSV文本中,以便后期進行數據處理和可視化分析。
2.1分析網頁結構
使用谷歌瀏覽器進入安居客網站,在問答選項頁中輸入“安康公積金”關鍵字搜索信息,通過查看源代碼發現網頁元素所對應標簽。仔細分析這個網頁的數據,我們需要五個數據,問題,最優回答,回答數量,問題關鍵字,問題發布時間。
2.2獲取問答信息數據
由于數據量不大,本程序使用Python中的requests庫爬取網頁中的留言,使用Xpath的方式進行網頁解析,最后將數據存放在CSV文本中。
一是導入響應庫文件,爬蟲的基本框架是獲取HTML頁面信息,解析頁面信息,保存結果,requests模塊是用于第一步獲取HTML頁面信息。parsel模塊其作用和功能等價于css選擇器,xpath和re的集合版。
import csv # 導入所需的庫
import requests
import parsel
二是根據網頁的地址規律,構建所有要下載網頁的網址,通過requests向安居客網頁發送http請求,獲取該頁面的源碼,獲取響應數據。
for page in range(1,10):
url=f'https://ankang.anjuke.com/ask/SE_%E5%AE%89%E5%BA%B7%E5%85%AC%E7%A7%AF%E9%87%91/p{page}/'}
# 設定 headers 字段
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
response=requests.get(url=url,headers=headers)
三是使用Xpath方式解析出列表項,使用 Xpath 方式解析出五個數據,問題,最優回答,回答數量,問題關鍵字,問題發布時間。
lis = selector.xpath("http://div[@class='comp-QaList']/ul/li") #所有li標簽
for li in lis:
ask_question = li.xpath('./h3/a/@title').get()
ask_answer = li.xpath('./p/text()').get()
ask_answer_num=li.xpath("./div[@class='msg-wrap']/a/span/text()").get()
ask_question_time=li.xpath("./div[@class='cell-footer']/span/text()").get()
四是使用爬取數據存入csv文件。導出的格式為CSV,選擇編碼方式為UTF-8再保存,打開文件后則顯示正常,如圖2展示了爬取的輿情信息。
3輿情信息可視化分析
根據前面整理好的數據,利用Python的圖表功能信息進行可視化分析,主要涉及詞云和詞頻統計,語句的感情分析,問題關注度圖表。
首先,安康公積金問題關注度情況表,此網站沒有網頁瀏覽計數內容,從問題的回答個數側面反映一下問題關注度,粗略的反映一下公積金的熱點問題。問題關注圖如圖3、圖4所示。
從安康公積金問題關注度情況表來看,公積金問題主要涉及外地公積金的繳存者,可以在安康貸款買房嗎?部分樓盤公積金貸款額度等。針對異地貸款問題,主要是安康在外地工作或務工的人員在外地繳存了住房公積金,以及部分外地公積金繳存者有意向想在安康宜居之地購房養老,希望在安康購房能夠享受到住房公積金貸款政策,按照當前的政策規定,僅在全省范圍內實現了異地貸款,對外省還沒有開放。主要是全國公積金現行管理機構不統一,數據不能共享,各地貸款需求旺盛資金嚴重不足等原因造成的,不能實現全國一盤棋。需要我們有的放矢的進行研究,解放思想,以民為本,創新工作,突破政策限制,盡快實現外地住房公積金繳存者在安康購房能夠享受住房公積金貸款的鳳愿。
為進一步分析熱點問題,將對爬取文本進行分詞和詞頻統計繪制詞云。對文本處理,保留提問和回答文本。然后使用Jieba庫進行分詞,去除一些無意義的詞語,統計出現頻率較高的詞語,這些詞就是廣大群眾關注的公積金熱點問題;最后,將這些高頻詞語繪制詞云,使得數據形象化。
再有,為進一步了解安康公積金的輿情,再對回答的問題進行文本情感分析,充分的了解各種問題的輿情情況。使用SnowNLP類庫實現,主要可以進行中文分詞(算法是Character-Based Generative Model)、詞性標注(原理是TnT、3-gram 隱馬)、情感分析。如圖6,回答問題情感分析表
觀點正負性的程度,0-1,0為負,1為正,進一步了解了關于安康公積金的網絡輿情的情況,情感分析表均值為0.413480364,說明回答的情況并不是太積極和主動。
4結語
本文通過分析安居客問答網頁結構,利用Python語言及其強大的第三方庫編寫流程代碼,獲取相應的安康公積金輿情信息,并結合可視化圖表及詞云圖了解安康公積金的熱點詞,主要網絡提問,為信息技術在政務服務方面做了一個有益的嘗試,不足之處在于數據量的采集比較單薄,分析的結果和具體的服務改進沒有良好的連接。
參考文獻:
[1]王雨煙.淺談微博語言的特征[J].新聞研究導刊,2019,10(22):87-89.
[2]唐勇.互聯網輿情監控系統的設計與實現[D].北京:北京郵電大學,2013.
[3]孫立偉,何國輝,吳禮發.網絡爬蟲技術的研究[J].電腦知識與技術,2010,06(015):4112-4115.
[4]張譽曜,陳媛媛.基于Python下的爬蟲綜述及應用[J].中國新通信,2019(06):98.
[5]左薇,張熹,董紅娟,等.主題網絡爬蟲研究綜述[J].軟件導刊,2020,19(02):278-281.
[6]賈志先.Python程序設計考試系統的開發與應用[J].自動化技術與應用,2016,35(02):57-60.
作者簡介:周福明(1964—),男,陜西旬陽人,高級經濟師。研究方向:住房公積金管理。