基于爬蟲技術的煙草行業(yè)網(wǎng)絡輿情監(jiān)控系統(tǒng)的設計與實現(xiàn)
發(fā)布時間:2021-07-21 23:55
煙草行業(yè)在中國是一種備受爭議的專賣專營特殊行業(yè),行業(yè)的各種行為極易引發(fā)輿情討論。煙草行業(yè)在發(fā)展過程中一直很重視對網(wǎng)絡輿情的監(jiān)控,但是行業(yè)內部對網(wǎng)絡輿情的監(jiān)測大部分還處于人工模式。本文設計并實現(xiàn)了一個煙草行業(yè)網(wǎng)絡輿情監(jiān)控系統(tǒng),利用網(wǎng)絡爬蟲技術在采集、處理海量數(shù)據(jù)方面的優(yōu)勢,以實現(xiàn)對涉煙網(wǎng)絡輿情全方位的抓取,并提供給用戶可視化的輿情信息查詢、主題追蹤、統(tǒng)計分析等監(jiān)控服務。本文首先對網(wǎng)絡輿情監(jiān)控研究現(xiàn)狀,網(wǎng)絡爬蟲、自然語言處理、機器學習技術進行考察分析調研。其次,本文對煙草行業(yè)網(wǎng)絡輿情監(jiān)控系統(tǒng)的采集對象、需求進行分析,并根據(jù)需求及業(yè)務流程,進行了系統(tǒng)總體架構設計、數(shù)據(jù)庫設計、子系統(tǒng)設計。本系統(tǒng)主要分為輿情采集、輿情應用、系統(tǒng)管理三個子系統(tǒng)。在系統(tǒng)實現(xiàn)部分,本文按照各子系統(tǒng)的實現(xiàn)進行說明。包括選用基于Python語言的Scrapy爬蟲框架,自定義策略應對網(wǎng)站的反爬措施,運用Selenium解決了動態(tài)網(wǎng)頁數(shù)據(jù)的抓取問題;通過正則表達式、XPath選擇器,配合Pandas、Numpy庫進行數(shù)據(jù)清洗提取篩選;基于Jieba的中文分詞構建涉煙輿情詞典和詞性庫,自定義涉煙輿情特色關鍵詞的提取規(guī)則;通過W...
【文章來源】:鄭州大學河南省 211工程院校
【文章頁數(shù)】:63 頁
【學位級別】:碩士
【部分圖文】:
通用網(wǎng)絡爬蟲工作流程圖
10圖 2.2 聚焦爬蟲工作流程圖2.2 Python 語言Python 語言是一種開源的、面向對象的解釋性的語言,語法簡便易懂、條理邏輯清晰、代碼靈活易用、具有很高的可擴展性,可以實現(xiàn)很多功能。Python也被稱為膠水語言,具有豐富和強大官方及第三方庫、大量的 Web 設計框架,能快速生成程序的原型,能夠把用其他語言尤其是 C、C++等底層語言制作的各種模塊輕松的聯(lián)結在一起,利用他們已有的庫來做很多擴展,使開發(fā)者的注意點可以集中在自己要做的事情上,提高程序運行效率。Python 語言對其他語言有很好的擴展性,是一款簡單易用的工具性語言[14][14]。網(wǎng)絡爬蟲是一個典型的多任務處理場景,多線程或進程會并發(fā)的爬行更提高程序效率,提升整個系統(tǒng)下載和分析能力。Python 在網(wǎng)絡爬蟲方面的優(yōu)勢是:它具有多種爬蟲框架,成熟穩(wěn)定的多線程爬蟲進程模型,可以簡單方便高效的下載網(wǎng)頁。對于網(wǎng)頁的抓取,Python 和 C#
圖 2.3 Scrapy 架構Scrapy 的數(shù)據(jù)流過程為[17][17]:(1)首先引擎打開一個網(wǎng)站,找到處理該網(wǎng)站的爬蟲,并向該爬蟲請求始的 URL 地址,獲取地址后請求調度器進行調度;(2)引擎向調度器請求接下來需要爬取的 URL 地址,引擎獲取后將該 U通過下載器中間件轉給下載器進行下載;(3)頁面下載完畢后,下載器將生成的頁面應答通過下載器中間件發(fā)送引擎;(4)引擎將接收到的應答,通過爬蟲中間件發(fā)送給爬蟲處理;(5)爬蟲處理完 Response,將提取到的項目及新的 Request 給引擎;(6)引擎將爬蟲返回的項目給項目管道,將新的 Request 給調度器;(7)重復以上步驟,直到調度器中沒有 Request,引擎關閉網(wǎng)站,爬取結2.4 動態(tài)頁面爬取
本文編號:3296020
【文章來源】:鄭州大學河南省 211工程院校
【文章頁數(shù)】:63 頁
【學位級別】:碩士
【部分圖文】:
通用網(wǎng)絡爬蟲工作流程圖
10圖 2.2 聚焦爬蟲工作流程圖2.2 Python 語言Python 語言是一種開源的、面向對象的解釋性的語言,語法簡便易懂、條理邏輯清晰、代碼靈活易用、具有很高的可擴展性,可以實現(xiàn)很多功能。Python也被稱為膠水語言,具有豐富和強大官方及第三方庫、大量的 Web 設計框架,能快速生成程序的原型,能夠把用其他語言尤其是 C、C++等底層語言制作的各種模塊輕松的聯(lián)結在一起,利用他們已有的庫來做很多擴展,使開發(fā)者的注意點可以集中在自己要做的事情上,提高程序運行效率。Python 語言對其他語言有很好的擴展性,是一款簡單易用的工具性語言[14][14]。網(wǎng)絡爬蟲是一個典型的多任務處理場景,多線程或進程會并發(fā)的爬行更提高程序效率,提升整個系統(tǒng)下載和分析能力。Python 在網(wǎng)絡爬蟲方面的優(yōu)勢是:它具有多種爬蟲框架,成熟穩(wěn)定的多線程爬蟲進程模型,可以簡單方便高效的下載網(wǎng)頁。對于網(wǎng)頁的抓取,Python 和 C#
圖 2.3 Scrapy 架構Scrapy 的數(shù)據(jù)流過程為[17][17]:(1)首先引擎打開一個網(wǎng)站,找到處理該網(wǎng)站的爬蟲,并向該爬蟲請求始的 URL 地址,獲取地址后請求調度器進行調度;(2)引擎向調度器請求接下來需要爬取的 URL 地址,引擎獲取后將該 U通過下載器中間件轉給下載器進行下載;(3)頁面下載完畢后,下載器將生成的頁面應答通過下載器中間件發(fā)送引擎;(4)引擎將接收到的應答,通過爬蟲中間件發(fā)送給爬蟲處理;(5)爬蟲處理完 Response,將提取到的項目及新的 Request 給引擎;(6)引擎將爬蟲返回的項目給項目管道,將新的 Request 給調度器;(7)重復以上步驟,直到調度器中沒有 Request,引擎關閉網(wǎng)站,爬取結2.4 動態(tài)頁面爬取
本文編號:3296020
本文鏈接:http://sikaile.net/kejilunwen/zidonghuakongzhilunwen/3296020.html
最近更新
教材專著