freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

新聞爬蟲系統(tǒng)的設計與實現畢業(yè)論文(編輯修改稿)

2024-09-01 07:56 本頁面
 

【文章內容簡介】 業(yè)公關來說,信息時代的到來導致危機的信息傳播比危機本身發(fā)展要快得多,媒體的報道也很難避免。他們需要不斷的知道外屆對企業(yè)的評價,是否有競爭對手惡意中傷等,從而在第一時間作出應對措施,減少破壞性和蔓延速度,以維護形象和贏得消費者的同情和理解。 對于行政機構類用戶,他們需要對國內重點論壇和新聞門戶網站,也包含國外部分敏感網站,特別是國外的Twitter,Facebook等網站進行一些監(jiān)控,以對一些敏感事件進行及時的發(fā)現、后續(xù)跟蹤,同時對于民意的聽取也很感興趣,從而做到對特殊事件的早發(fā)現、早預警,為及時處置奠定基礎。此外,還有很重要的一個方面的用戶就是系統(tǒng)管理員,他們并不是新聞爬蟲系統(tǒng)的用戶,但是該管理員需要控制數據源的獲取邏輯,進行數據的分析,并將分析結果進行展示。 用戶用例分析 管理員用戶用例分析管理員用戶用例圖如圖31所示:圖31 管理員用戶用例圖對于管理員用戶,其使用場景分為五大類:1) 對爬蟲數據源進行控制:包括對爬蟲爬取的數據源的增加和刪除,以及對被爬行網站的配置(例如改動HTML代碼關鍵字匹配特征以通過HTMLParser抓取到相應類型的新聞)。數據源的配置需要定期進行更新和維護,系統(tǒng)需要提供有良好的接口,盡量降低配置的難度和維護的工作量。2) 開始一次數據采集過程:手動采集和增量采集(添加定時任務)。兩者的本質都是開啟網絡爬蟲對數據源網站根據抓取配置來執(zhí)行數據獲取的任務,不同的是手動采集由管理員觸發(fā)后執(zhí)行一次特定任務,增量采集會對部分更新頻率較高的網頁進行周期性的抓取以達到服務器端數據庫實時更新的效果。3) 對于數據庫中的新聞信息進行分析。4) 進入WEB頁測試本地服務器和系統(tǒng)是否運行正常。5) 將爬取的新聞信息以及分析的結果展示給用戶。 普通用戶用例分析普通用戶用例圖如圖32所示:圖32 普通用戶用例圖對于普通用戶,其使用場景分為五種:1) 查看各類新聞;2) 按關鍵字,時間等多條件搜索新聞;3) 查看新聞類別分析柱狀圖;4) 查看新聞小類別分析柱狀圖;5) 查看新聞數量隨月份的變化折線圖;6) 查看在某一天新聞數量在一天中的變化折線圖。 綜合用例分析圖33 系統(tǒng)綜合用例圖該新聞爬蟲系統(tǒng)的綜合用例圖如圖33所示,普通用戶可以進入該系統(tǒng)進行查看各類新聞、按關鍵字,時間等多條件搜索新聞、查看新聞類別分析柱狀圖、查看新聞小類別分析柱狀圖、查看新聞數量隨月份的變化折線圖、查看在某一天新聞數量在一天中的變化折線圖以及進行綜合分析統(tǒng)計操作;管理員用戶具有最高權限,除了可以正常使用本系統(tǒng)進行系統(tǒng)功能測試之外,還可以進行控制系統(tǒng)數據源、觸發(fā)一次數據采集等操作。 功能需求分析根據上文對于用戶用例的分析,可以總結出本系統(tǒng)的功能需求:1) 針對管理員用戶:a) 對爬蟲爬取的數據源進行便捷的管理操作,包括對數據源的增 加和刪除以及對于數據抓取策略的修改;b) 觸發(fā)一次數據采集的過程,包括指定一次手動采集的過程和觸 發(fā)一次定時采集的過程以實現數據的實時獲取和增量獲??;c) 對于數據庫中的數據進行分析;d) 具備普通用戶能夠使用的所有功能,可進入WEB頁測試本地 服務器和系統(tǒng)是否運行正常。2) 針對普通用戶:a) 查看各類新聞:輸入關鍵字和日期進行檢索,查看當前 類型的符合條件的新聞;b) 查看新聞類別分析柱狀圖:輸入日期進行檢索,查看 當前時間下的新聞類別分析柱狀圖;c) 查看新聞小類別分析柱狀圖:輸入日期進行檢索,可查看當前時間下的小的新聞類別的數量分析柱狀圖; d) 查看新聞數量隨月份的變化折線圖:根據輸入的年份可查看當前年份中新聞發(fā)布數量隨月份變化的折線圖;e) 查看在某一天新聞數量在一天中的變化折線圖:根據輸入的時間可查看當前日期下新聞發(fā)布數量隨時間變化的折線圖。 性能需求分析本系統(tǒng)運行在Windows 7 Ultimate操作系統(tǒng)上,Web服務器選用Apache Tomcat ,整個系統(tǒng)的性能指標如下:1) 運行環(huán)境:a) CPU:Intel Core (TM) 2 Duo E7200 @ b) 內存:3 GB ( DDR2 667MHz / DDR2 800MHz )c) 帶寬:,100M網卡2) 運行參數:a) 最大網絡連接數:65b) 單一主機連接數:203) 下載速度:(按照平均每個頁面包含10條數據來計算)a) 最高速度:200Pages/Min,平均每分鐘抓取2000條記錄b) 最低速度:50Pages/Min,平均每分鐘抓取500條記錄4) 頁面解析速度:a) 平均速度:1000Pages/Minb) 并發(fā)解析線程數:205) 資源使用率:a) 下載服務:CPU占用率50%,內存占用率500MBb) 解析服務:CPU占用率70%,內存占用率800MB 本章小結 本章主要對需求分析階段所做的相關工作進行了描述,為后期系統(tǒng)設計和開發(fā)工作做準備。首先從技術可行性、操作可行性和經濟可行性三個方面對系統(tǒng)可行性進行了評估,隨后對系統(tǒng)的用戶對象和用戶用況從管理員用戶和普通用戶兩個角度進行了詳細的分析,并分別總結出了相應的功能需求,最后對系統(tǒng)的性能需求進行了簡要分析。 4 系統(tǒng)總體設計系統(tǒng)需求分析階段主要提出了系統(tǒng)需要做什么,系統(tǒng)設計階段需要解決的問題就是系統(tǒng)需要怎么做。系統(tǒng)設計階段的主要參考依據是需求分析階段得出的相關結果,據此進行系統(tǒng)的數據庫結構設計和功能模塊設計,本階段的工作是對上一階段分析結果的進一步具體化。 數據庫結構設計良好的數據庫結構對于保障一個應用程序始終運行在高性能狀態(tài)具有非常重要的意義。數據庫結構如果沒有設計好將會給以后的工作帶來很多麻煩,一方面是性能問題,另一方面是維護問題。過多的重復性數據會嚴重影響系統(tǒng)的執(zhí)行性能,當這些數據的一個實例發(fā)生改變時,其他數據也都要進行相應的改變。本系統(tǒng)使用SQL Server 2005作為數據庫管理工具,SQL Server 2005是一個具備完整的Web支持的數據庫產品,提供了以Web標準為基礎的擴展數據庫編程功能。在數據訪問層,采用JDBC直接訪問數據庫的方式,通過SQL語句操作數據庫,簡單易用。根據本系統(tǒng)的實際需求,數據庫中需要具備的基本表有三個:1) (如表41所示)表41 帖子信息列表字段名字段類型字段限制注釋news_idINT主鍵新聞編號News_urlNVARCHARnot null數據來源news_titleNVARCHARnot null新聞標題news_pudbateNVARCHARnot null新聞發(fā)布時間news_mediaNVARCHARnot null新聞發(fā)布方news_contentNVARCHARnot null新聞內容news_typeINTnot null新聞類型編號news_typenameNVARCHARnot null新聞類型news_typecodeINTnot null新聞類型編碼news_smalltypeNVARCHARnot null新聞詳細類別news_pictureNVARCHAR無新聞圖片2) (如表42所示)表42 數據源信息列表字段名字段類型字段限制注釋url_idINT主鍵數據源編號urlVARCHARnot null數據源名稱3) (如表43所示)表43情感傾向標注列表字段名字段類型字段限制注釋type_idINT主鍵新聞類型編號type_contentVARCHARnot null新聞類型type_codeINTnot null新聞類型編碼smalltypeVARCHARnot null新聞詳細類別這三個表之間的實體關系圖如圖41所示:圖41 數據庫實體關系圖 系統(tǒng)功能模塊設計整個新聞爬蟲系統(tǒng)應該包括四部分的功能模塊:爬取類別的選擇、數據獲取模塊、數據存入模塊、數據分析以及數據可視化模塊。其總體的工程如圖42所示:數據存儲:將獲取的新聞數據存入數據庫中數據取得:利用爬蟲程序獲得網頁中的新聞數據數據爬取選擇:選擇要爬取得新聞類別和方式 開始 數據可視化:將新聞信息以及分析結果輸到前臺 開始 圖42 系統(tǒng)主要工作流程 數據獲取功能模塊在該新聞爬蟲系統(tǒng)中,數據的獲取主要依靠網絡爬蟲來實現。爬蟲程序在針對系統(tǒng)指定的網站進行爬行時,會對網頁中的相關元數據進行抽取并保存在本地數據庫中。爬蟲程序主要由鏈接過濾子模塊、頁面解析子模塊、爬行控制子模塊以及數據存儲子模塊構成,其模塊結構如圖43所示:圖43 數據獲取功能模塊結構圖1) 鏈接過濾子模塊在爬蟲程序的爬行過程中,需要不斷地向待抓取的URL隊列中添加新的URL,而爬蟲作為計算機程序具有機械執(zhí)行的特性,無法智能判斷出某一個URL是否需要進行解析,這就要求在爬行過程中需要為爬蟲定義一個鏈接過濾器,只有符合某些條件的URL才能被過濾器所識別,其余不符合條件的URL將會被鏈接過濾器過濾掉,不會加入到待抓取的爬行隊列中去,同時對于符合條件的URL也要判斷該URL是否被爬取過,如果已被爬過則舍棄。在爬蟲中采用鏈接過濾器進行URL過濾是很有必要的。一方面,能夠被過濾器識別的URL符合用戶預定義的過濾規(guī)則,這些URL全部都是用戶所期望獲取的數據來源,數據抓取的準確性得到很好的保證;另一方面,由于大量不符合條件的URL都被過濾掉了,爬行隊列中僅僅加入符合條件的URL,大大節(jié)省了寶貴的內存空間。鏈接過濾子模塊的工作方式如圖44所示:圖44 鏈接過濾子模塊2) 頁面解析子模塊爬行隊列在爬蟲程序中的地位是非常重要的。在爬蟲程序的工作過程中,需要不斷地提取符合鏈接過濾器的URL加入到爬蟲隊列中去,這些URL所指向的HTML頁面可以分為兩類:一類是可以直接從中獲取元數據的HTML頁面,另一類是包含更多符合鏈接過濾器的URL但是不能抽取元數據的HTML頁面。對于第一類HTML頁面,直接利用HTML解析工具對其進行解析并進行元數據抽取;對于第二類HTML頁面,則需要對其進行URL抽取而非元數據抽取,將HTML中復合鏈接過濾器的URL全部提取出來進行重爬判斷并將符合條件的URL加入到爬行隊列中去。頁面解析子模塊的工作方式如圖45所示:圖45 頁面解析子模塊3) 爬行控制子模塊爬行控制模塊是整個爬蟲程序的核心,它控制著整個爬蟲的抓取策略(寬度優(yōu)先或者深度優(yōu)先)以及停止條件。爬行控制子模塊的工作流程如圖46所示:圖46 爬行控制子模塊4) 數據存儲子模塊在每次進行完HTML頁面的信息抽取之后,都要將所有獲取到的元數據寫入到數據庫中去,另外還需要將本次抓取的URL也寫入數據庫中。數據存儲子模塊的工作流程如圖47所示:圖47 數據存儲子模塊 數據可視化功能模塊 數據可視化功能模塊查看新聞內容查看新聞小類別圖表歡迎頁面查看符合條件新聞列表查看新聞類別分析圖表查看一天中新聞變化查看新聞隨月份變化圖 圖48 數據可視化功能結構圖系統(tǒng)可視化功能模塊的主要功能結構如圖48所示,通過ExtJS結合Google Visualization API進行構建,其主要功能包括:1) 顯示歡迎頁:用戶進入本系統(tǒng)后顯示歡迎信息并對系統(tǒng)主要功能進 展示;2) 查看各類新聞:查看當前類型的新聞;3) 按關鍵字,時間等多條件搜索新聞:輸入關鍵字和日期進行檢索,查看當前符合條件的新聞;4) 查看新聞類別分析柱狀圖:輸入日期進行檢索,可查看當前日期下的新聞類別的分析柱狀圖,在沒有日期限制的條件下就顯示全部新聞的類別分析柱狀圖;5) 查看新聞小類別分析柱狀圖:輸入日期進行檢索,可查看當前日期下的新聞小類別的分析柱狀圖,在沒有日期限制的條件下就顯示全部新聞的小類別分析柱狀圖;6) 查看新聞數量隨月份的變化折線圖:輸入日期進行檢索,可查看對于當前年份下的新聞數量隨月份變化的折線圖;7) 查看新聞數量在一天中的變化折線圖:輸入日期進行檢索,可查看對于當前日期下的新聞數量隨時間變化的折線圖; 本章小結本章節(jié)對新聞爬蟲系統(tǒng)進行了數據庫結構的總體設計以及系統(tǒng)功能模塊的總體設計,并對數據獲取功能模塊的子模塊以及數據可視化功能模塊的功能結構做出了明確的劃分,為系統(tǒng)詳細設計與實現階段的工作備好條件。 5 系統(tǒng)詳細設計與實現本章節(jié)將圍繞新聞爬蟲系統(tǒng)的功能模塊詳細設計和技術實現展開詳細說明,針對系統(tǒng)總體設計進行細化和擴充,詳細地設計每個模塊實現算法以及所需的局部結構,最后將所有的設計方案進行技術實現。 數據獲取模塊數據獲取模塊主要利用Java語言結合HTTPClient開源工具編寫了一個針對新聞的可擴展的網絡爬蟲,該爬蟲程序能夠按照廣度優(yōu)先的爬行策略對新聞數據進行全面的定向抓取以及周期性的增量抓取。在爬蟲程序執(zhí)行數據抓取的過程中,采用HTMLParser對獲取到的新聞信息進行元數據抽取,將新聞的URL、標題、內容、發(fā)布方、發(fā)布時間、新聞類別等元數據以及新聞的圖片存入SQL Server數據庫中。 爬蟲程序初始界面爬蟲程序的初始界面如圖51所示。本程序利用SWING實現,界面上方是功能選區(qū),管理員用戶可以指定爬行操作的數據源,進行數據抓取過程的相關操作。界面下方的空白區(qū)域使用JTextArea實現,其作用是截獲系統(tǒng)的控制臺輸出并進行顯示,用于指示當前的
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1