【正文】
大,界面美觀,使用AJAX技術開發(fā)RIA應用。由于該新聞爬蟲系統(tǒng)采用B/S架構方式,用戶僅需在瀏覽器端利用瀏覽器進入系統(tǒng)使用相關功能即可,當前主流的個人電腦硬件配置完全滿足使用條件。新聞信息的可視化模塊可以通過借助Google Visualization API動態(tài)地將新聞顯示在交互方式非常豐富的圖表上,再結合ExtJS構建一個富互聯網應用,整個系統(tǒng)能夠提供良好的用戶體驗。本章主要從系統(tǒng)可行性、用戶對象、用戶用例、功能需求以及性能需求五個方面進行詳細的系統(tǒng)需求分析。 本章簡要介紹了進行本次新聞爬蟲系統(tǒng)開發(fā)所需要的相關理論和技術,主要包括網絡爬蟲的定義,爬取策略等理論知識,J2EE技術、SQL Server 2005數據庫管理系統(tǒng)以及ExtJS框架相關知識,并對系統(tǒng)開發(fā)過程中用到的一些關鍵開源工具做出了簡要說明,這些關鍵技術的學習和掌握為接下來的系統(tǒng)分析及設計實現提供了堅實的理論基礎。HTMLParser主要包含以下兩個方面的功能:1)信息提取功能:1 文本信息抽取,例如對HTML進行有效信息搜索;2 鏈接提取,用于自動給頁面的鏈接文本加上鏈接的標簽;3 資源提取,例如對一些圖片、聲音的資源的處理;4 鏈接檢查,用于檢查HTML中的鏈接是否有效;5 頁面內容的監(jiān)控。 HTMLParserHTMLParser是一個利用純Java語言編寫的進行HTML解析的庫,它不依賴于其它的Java庫文件,主要用于改造或提取HTML,其特點是能夠超高速解析HTML文件,而且不會出錯。HTTPClient已經應用在很多大型的項目中,比如Apache Jakarta上很著名的另外兩個開源項目Cactus和HTMLUnit都使用了HTTPClient。 HTTP協議可能是現在Internet上使用得最多、最重要的協議了,越來越多的Java應用程序需要直接通過HTTP協議來訪問網絡資源。該框架完全基于純HTML/CSS+JS技術,提供豐富的跨瀏覽器UI組件,靈活采用JSON/XML數據源開發(fā),使得服務端表示層的負荷真正得以減輕。ExtJS的組件結構如圖23所示:圖23 ExtJS組件結構圖ExtJS初期僅是對Yahoo! UI的對話框擴展,后來逐漸有了自己的特色,深受技術研發(fā)人員的喜愛。因此,、Java以及PHP等多種開發(fā)語言中。 ExtJS簡介 ExtJS是一個JavaScript庫,功能強大,界面美觀,可以使用AJAX, DHTML,DOM等技術來開發(fā)網絡應用程序。SQL Server Framework, SQL Server專有對象,從而使SQL Server數據庫具有靈活的功能。1992年Sybase和Microsoft這兩家公司將SQL Server移植到了Windows NT操作系統(tǒng)上,后來Microsoft致力于Windows NT平臺的SQL Server的開發(fā),而Sybase則專注于SQL Server在UNIX上的應用[6]。Microsoft SQL Server 2005數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,使得用戶可以構建和管理用于業(yè)務的高可用和高性能的數據應用程序。典型的J2EE應用體系結構如圖21所示:圖21 J2EE體系結構圖總體來說,使用J2EE技術開發(fā)Web事務系統(tǒng)有以下優(yōu)點:第一,開發(fā)高效,J2EE有完善的開源社區(qū)支持,像Spring,Struts這些框架可以大大縮短開發(fā)周期;第二,支持不同的操作系統(tǒng)環(huán)境,因為Java天生具有“一次編譯,隨處運行”的特點,基于J2EE開發(fā)的應用程序不依賴特定的操作系統(tǒng)、硬件等,也就具有了開發(fā)一次就可以在各個平臺部署的特點;第三,穩(wěn)定的高可用性,得益于從Java繼承而來的跨平臺特性,J2EE系統(tǒng)部署到可靠的操作環(huán)境中,一些對系統(tǒng)魯棒性要求很高的大型商務系統(tǒng)可以選擇比Windows更為健壯的Linux操作系統(tǒng),這是更為理想的選擇。傳統(tǒng)的客戶端往往承擔了太多的功能,導致客戶端比較臃腫,升級很不方便。J2EE使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各個應用組件根據他們所在的層分布在不同的機器上。J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。J2EE組件和“標準的”Java類的不同點在于:它被裝配在一個J2EE應用中,具有固定的格式并遵守J2EE規(guī)范,由J2EE服務器對其進行管理。 J2EE技術簡介J2EE指的是Java2平臺企業(yè)版(Java 2 Platform , Enterprise Edition)。因為最佳優(yōu)先策略是一種局部最優(yōu)搜索算法。它只訪問經過網頁任意算法預測為“有用”的網頁。其基本思想是認為與初始URL在一定鏈接距離內的網頁具有主題相關性的概率很大。在目前為覆蓋盡可能多的網頁,一般使用廣度優(yōu)先搜索算法。深度優(yōu)先在很多時候會導致爬蟲的陷入問題,目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。通用網絡爬蟲從一個或幾個初始網頁的URL開始,獲得初始網頁上的URL列表;在抓取網頁的過程中不斷從當前網頁上抽取新的URL放入到待爬行隊列,直到滿足系統(tǒng)的停止條件。2 系統(tǒng)開發(fā)知識準備 本章簡要介紹了進行本次新聞爬蟲系統(tǒng)開發(fā)所需要的相關理論和技術,這些關鍵技術的學習和掌握為接下來的系統(tǒng)分析及設計實現提供了堅實的理論基礎。第6章 進行了系統(tǒng)測試和發(fā)布工作,首先從理論上對軟件測試的目標和方法進行了簡要介紹,之后設計了多個測試用例對系統(tǒng)的相關功能模塊進行了詳細的測試并對測試結果進行了分析,最后將本系統(tǒng)通過TOMCAT部署到了PC服務器上,完成了系統(tǒng)發(fā)布的過程。第4章 對本系統(tǒng)進行了總體設計,包括數據庫結構的總體設計以及系統(tǒng)功能模塊的總體設計,并對數據獲取功能模塊的子模塊以及數據可視化功能模塊的功能結構做出了明確的劃分,為系統(tǒng)詳細設計與實現階段的工作備好條件。第2章 為系統(tǒng)開發(fā)知識準備,簡要介紹了進行本次新聞爬蟲系統(tǒng)開發(fā)所需要的相關理論和技術,主要包括爬蟲技術的知識理論和J2EE技術、SQL Server 2005數據庫管理系統(tǒng)以及ExtJS框架等相關知識,并對系統(tǒng)開發(fā)過程中用到的一些關鍵開源工具做出了簡要說明。本系統(tǒng)的運行流程大致如下:首先利用爬蟲工具將新聞數據獲取到本地數據庫中,之后對其進行數據分析,最后將新聞內容信息以及分析結果在前臺網頁中進行可視化輸出。該系統(tǒng)的最大優(yōu)點是準確度高,其代價是犧牲了覆蓋度,搜索的深度非常有限[4]。IDGS 能夠在萬維網上對信息進行自動查詢,采用向量空間模型技術對內容進行檢索,同時利用權重評價技術來進行統(tǒng)計。對于基于內容分析的搜索,國人也做出了很大貢獻。通過用戶搜索參數的改變,每一個頁面都會建立一個對應的引用關系,最后將他們進行合并。這種通過學習網頁引用關系的方法后來被證明效率并不高,但在當時也是重要的創(chuàng)新手段。使得該系統(tǒng)在準確度和相關度方面有了大幅度的提升[2]。從現在的技術來看,當時的IBM Focused Crawler采取了全新雙模塊系統(tǒng),即分類器和選擇器。雖然CORA分析地址和主題的能力還很不足,同時也不具備對網頁進行分析的能力,但是這仍然無法抹殺它在自動搜集資源方面取得的重大成就。CORA 。后來在1998年和1999年相繼出現了Shark Search System和聚焦爬蟲(Focused Crawler)[1]。由于搜索角度的轉變,這種新的技術逐漸開始被人們所關注。相對于基于鏈接分析的搜索方式,這是搜索技術的一個突破性進展,他們采取了一種新的思維方式,建立一個針對主題的詞庫。早在2002年,歐美地區(qū)便出現了這種最原始的基于鏈接的搜索系統(tǒng)。同時他們還驚奇的發(fā)現,相似度最高的在傳統(tǒng)引文方面。上世紀九十年代,國外的搜索引擎開發(fā)者已經開始以社會網絡工作為模型,對萬維網進行模擬。因此可以說爬蟲系統(tǒng)是整個分析系統(tǒng)的基礎,并且爬蟲系統(tǒng)輸出結果的好壞直接影響著系統(tǒng)結果的展現。另一方面,原來的新聞信息收集工作主要依靠人工完成,工作量巨大,覆蓋面小,不僅費時費力而且還不免出現人為疏漏的情況,這種局面亟待通過技術手段提高工作效率。 新聞爬蟲系統(tǒng)項目建設意義重大。 用戶可以隨時查看任意一個時間的新聞分析結果,而且該系統(tǒng)由于是基于多線程的程序完成任務的效率高。在數據分析與數據展示方面,系統(tǒng)通過對得到的信息進行深入的分析,將分析結果進行多維度的展現。在數據采集方面系統(tǒng)采用手動爬取與增量爬取相結合的方式。讓系統(tǒng)的工作人員可以靜觀事態(tài)的發(fā)展。這些服務與現有的搜索引擎提供的服務不同,其重要特征主要體現在:及時性,專用性,人性化。如何使搜索引擎能夠時刻滿足人們的需求?最初的檢索功能通過索引站的方式實現,從而有了網絡機器人。網絡檢索功能起于互聯網內容爆炸性發(fā)展所帶來的對內容檢索的需求。網絡新聞熱點通常形成迅速,多是人們對于日常生活中的各種問題發(fā)表的各種意見,評論,態(tài)度,情緒等,隨著事件的發(fā)展而變化,是反映社會熱點的重要載體之一。小到心情日志,大到國家大事。 開發(fā)背景及目的隨著互聯網技術的發(fā)展與應用的普及,網絡作為信息的載體,已經成為社會大眾參與社會生活的一種重要信息渠道。通過使用該新聞爬取系統(tǒng),用戶能夠實時的更新新聞信息,及時、全面、準確地掌握新聞熱點動態(tài),提高對于重大突發(fā)事件的處理能力,對于更及時,全面的了解各地的實時信息具有重要意義。本文所描述的新聞爬蟲系統(tǒng)其數據來源主要是新浪新聞,首先利用爬蟲工具將新聞數據獲取到本地數據庫中,然后將新聞信息以及新聞分析的結果將在前臺網頁中進行可視化輸出。本文設計的新聞爬蟲系統(tǒng)是新聞熱點分析系統(tǒng)的數據源,負責新聞信息的采集。山東科技大學本科畢業(yè)設計(論文)摘要隨著計算機網絡在世界范圍的飛速發(fā)展,互聯網作為最具潛力與活力的媒體已經被公認是繼報紙,廣播,電視之后的“第四媒體”,成為反映社會新聞熱點的重要載體。為了及時了解網絡新聞熱點,相關機構引入了新聞熱點分析系統(tǒng)。本文借助于爬蟲領域的相關技術與工具,結合新聞熱點分析系統(tǒng)的需求從原理或工作流程上詳細論述了爬蟲系統(tǒng)中核心模塊的具體實現。本文主要進行了以下幾個方面的工作: 1)利用Java語言結合HTTPClient開源工具編寫了一個針對新浪新聞的可擴展的網絡爬蟲,該爬蟲程序能夠按照廣度優(yōu)先的爬行策略對新聞數據(包括圖片信息)進行全面的定向抓取以及周期性的增量抓??;2)采用HTMLParser對獲取到的新聞信息進行元數據抽取,將新聞的編號、標題、內容、發(fā)布方、發(fā)布時間等元數據以及新聞圖片等元數據解析出來并存入SQL Server數據庫中;3)前端界面利用開源AJAX框架ExtJS結合Servlet進行實現,兼顧用戶交互方式的多樣性以及系統(tǒng)的跨瀏覽器兼容性。關鍵詞:新聞熱點,網絡爬蟲,元數據抽取,可視化ABSTRACTWith the rapid development of World Wide Web(WWW),it is widelyaccepted that the internet,called the Fourth Media,will be the most potentialand energetic media after newspaper,radio and television as an important carrier of the hot society order to know the internet hot news in time,the related organizations introduced the hot news and analysis system. The news spider system is in the information collection layer and is the fundamental part of hot news analysis is responsible for the information collection . In the help of related technologies and tools and with the needs of the system itself ,the paper discuss the concrete realization of the code module in detail .The data of the news spider system es from news of sina . First using web crawler to get data from news to local database , finally visualize the public opinion information on the front page. This article mainly has carried on the following several aspects work: 1) Using Java and HTTPClient developed a scalable web crawler which focus on DISCUZ BBS. Besides, this crawler can conduct a prehensive orientation of fetching and periodic increment of fetching from BBS data (including the BBS post information and all its replies) under breadthfirst strategy. 2)Using HTMLParser to extract metadata from the BBS