![相關(guān)-開題報告_第1頁](http://file4.renrendoc.com/view/85fb2a3a859b12b9af29de8941e7e6be/85fb2a3a859b12b9af29de8941e7e6be1.gif)
![相關(guān)-開題報告_第2頁](http://file4.renrendoc.com/view/85fb2a3a859b12b9af29de8941e7e6be/85fb2a3a859b12b9af29de8941e7e6be2.gif)
![相關(guān)-開題報告_第3頁](http://file4.renrendoc.com/view/85fb2a3a859b12b9af29de8941e7e6be/85fb2a3a859b12b9af29de8941e7e6be3.gif)
![相關(guān)-開題報告_第4頁](http://file4.renrendoc.com/view/85fb2a3a859b12b9af29de8941e7e6be/85fb2a3a859b12b9af29de8941e7e6be4.gif)
![相關(guān)-開題報告_第5頁](http://file4.renrendoc.com/view/85fb2a3a859b12b9af29de8941e7e6be/85fb2a3a859b12b9af29de8941e7e6be5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計()開題學生學 號240111418專 業(yè)計算機科學與技術(shù)指導(dǎo)教師老師所在系部學院課題來源自擬課題課題類型工程課題名稱多線程智能爬蟲的設(shè)計與實現(xiàn)畢業(yè)設(shè)計的內(nèi)容和意義畢業(yè)設(shè)計的內(nèi)容:本課題采用語言來開發(fā)多線程智能爬蟲。系統(tǒng)擬在虛擬機下的Ubuntu 系統(tǒng),使用 sublime_text2 工具進行開發(fā)。在該集成開發(fā)環(huán)境中,進行該工程界面的設(shè)計和相應(yīng)程序代碼的編寫與調(diào)試。課題的主要任務(wù)是設(shè)計出一個可以從網(wǎng)中自動抓取所需信息的,同時可以對多個不同的進行檢索獲取等。畢業(yè)設(shè)計的意義隨著網(wǎng)絡(luò)的迅速發(fā)展,網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的。而搜索引擎,如國外的AltaV
2、ista,Yahoo!和等,國內(nèi)諸如 ,360 搜索等,都是基于網(wǎng)絡(luò)爬蟲的實現(xiàn)。由于這些搜索引擎是 面向大眾的,所以存在一定局限性。比如不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,而這些搜索引擎所返回的結(jié)果包含大量用戶不關(guān)心的網(wǎng)頁。本次設(shè)計爬蟲是一個自動網(wǎng)頁的程序,它根據(jù)既定的抓取目標,有選擇蟲并不追求大的覆蓋,而將目標定為抓取與某一特定內(nèi)容相關(guān)的網(wǎng)頁,為面 向的用戶查詢準備數(shù)據(jù)資源。同時,這次畢業(yè)設(shè)計對設(shè)計者也是一次非常好的鍛煉機會。一方面,設(shè)計者掌握了爬蟲設(shè)計的基礎(chǔ)技術(shù)要點。另一方面,設(shè)計者對所使用的編程語言有了很好的掌握,提高了程序設(shè)計和程序調(diào)試的能力,并對一般 設(shè)計的步驟流程
3、有了深刻的體會,為設(shè)計者日后的學習和工作都做了很好的鋪墊。的網(wǎng)上的網(wǎng)頁與相關(guān)的,獲取所需要的信息。與搜索引擎不同,爬文獻綜述一實際應(yīng)用方面的價值人們可以通過使用該,獲取自己特定所需的信息。在如今信息的社會中,網(wǎng)絡(luò)成為人們生活中不可或缺的工具,而搜索引擎又在這其中扮演者至關(guān)重要的角色。搜索引擎是一個實用性很強的研究領(lǐng)域,無論是網(wǎng)絡(luò)爬蟲、數(shù)據(jù)庫管理、中文分詞還是索引的建立方法,都值得去深入了解。二國內(nèi)外的研究現(xiàn)狀現(xiàn)在國內(nèi)外爬蟲非常之多,谷歌,等公司的所獲取的成功讓他們得到了現(xiàn)在的成就。而在個人方面,許多小型爬蟲層出不窮。如開源的爬蟲框架 Scrapy 是一個快速,次的屏幕抓取和 web 抓取框架,
4、用于抓取 web 站點并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy 用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試。Scrapy 吸引人的地方在于它是一個框架,任何人都可以根據(jù)需求方便的修改。1三相關(guān)技術(shù)與研發(fā)基礎(chǔ)(英語發(fā)音:/pan/), 是一種面象、解釋型計算機程序設(shè)計 語言,由 Guido van Rom 于底發(fā)明,第一個公開版于 1991 年, 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議1 。 語法簡潔而清晰,具有豐富和強大的類庫。34語言其具有很多的優(yōu)勢、特點8:1. 簡單 是一種代表簡單的語言。閱讀一個良好的 程序就感覺像是在讀英語一樣,盡管這個英
5、語的要求非常嚴格! 的這種偽代碼本質(zhì)是它最大的優(yōu)點之一。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。6易學就如同你即將看到的一樣, 極其容易上手。前面已經(jīng)提到了, 有極其簡單的語法??梢浦残杂捎谒拈_源本質(zhì), 已經(jīng)被移植在許多 上(經(jīng)過改動使它能夠工作在不同 上)。如果你 地避免使用依賴于系統(tǒng)的特性,那么你的所有 程序無需修改就可以在許多 上面運行。面 象既支持面向過程的編程也支持面 象的編程。在 “面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在“面 象”的語言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。 可擴展性如果你需要你的一段關(guān)鍵代碼運行得更快或者希望某些
6、算法不公開,你可以 的部分程序用C 或 C+編寫,然后在你的程序中使用它們??汕度胄阅憧梢园亚度肽愕?C/C+程序,從而向你的程序用戶提供功能。7豐富的庫標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、 FTP、電子郵件、XML、XML-RPC、HTML、WAV 文件、系統(tǒng)、GUI(圖形用戶界面)、Tk 和其他與系統(tǒng)有關(guān)的操作。5規(guī)范的代碼采用強制縮進的方式使得代碼具有極佳的可讀性。四. 主要參考文獻如下:01MagnusHetland.基礎(chǔ),:人民郵電,2010.02/自己動手寫網(wǎng)絡(luò)爬蟲.:,2010. 03Swaroop C
7、 HA Byte ofOReilly Media, 2008.04Alex Marli/Anna Ravenscroft/David Aschython CookbookOReilly Media,2008.05.源碼剖析.電子工業(yè), 2008-6.06美Wesley J. C(陳).編程(第二版). 人民郵電出版社,2008-6.07Allen B. Downey . Think. OReilly Media, 2012-6.09/. 多線程網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn).電腦開發(fā)與應(yīng)用,2012.10. 基于 Java 的多線程網(wǎng)絡(luò)爬蟲設(shè)計與實現(xiàn).微型電腦應(yīng)用,2010.08StreamWang.的
8、設(shè)計理念和優(yōu)缺點.研究內(nèi)容網(wǎng)頁搜索策略目前主流的網(wǎng)頁搜索策略主要有三,即:深度優(yōu)先、廣度優(yōu)先、最佳優(yōu)先9。深度優(yōu)先,即從起始網(wǎng)頁開始,選擇一個 URL,進入,分析這個網(wǎng)頁中的 URL ,選擇一個再進入。如此一個一個地深入追蹤下去,處理完一條路線之后再處理下一條路線。該類爬蟲設(shè)計時較為簡單。然而深度優(yōu)先型網(wǎng)絡(luò)爬蟲存在一個問題:門戶提供的往往最具價值,PageR也很高,而每深入一層,網(wǎng)頁價值和 PageR都會相應(yīng)地有所下降。這暗示了重要網(wǎng)頁通常距離較近,而過度深入抓取到的網(wǎng)頁卻價值很低。廣度優(yōu)先(又稱寬度優(yōu)先),即從起始網(wǎng)頁開始,抓取其中所有的網(wǎng)頁,然后從中選擇一個,繼續(xù)抓取該網(wǎng)頁中的所有頁面10
9、。網(wǎng)絡(luò)爬蟲在抓取網(wǎng)頁時普遍采用這種策略,這其中有兩個原因:第一,網(wǎng)的實際深度最大能達到 17 層,網(wǎng)頁之間四通八達,因此存在從一個網(wǎng)頁到另一個網(wǎng)頁的最短路徑問題。如果采用深度優(yōu)先,則有可能從一個 PageR很低的網(wǎng)頁爬取到一個 PageR實際很高的網(wǎng)頁,不方便計算PageR(個人理解)。第二,采用寬度優(yōu)先策略有利于多個爬蟲并行爬取。這種多爬蟲合作抓取通常是先抓取站內(nèi) ,遇到站外連接就爬出去,抓取的封閉性很強。廣度優(yōu)先策略的優(yōu)點在于其設(shè)計 相對簡單,且這種策略的基本 是:與 在一定距離內(nèi)的網(wǎng)頁重要度較高,符合實際。在聚焦爬蟲的應(yīng)用中,廣度優(yōu)先策略可以與網(wǎng)頁過濾技術(shù)結(jié)合,即先用廣度優(yōu)先抓取一些網(wǎng)頁
10、,再將其中與 無關(guān)的過濾掉。但這種方法的缺點是隨著抓取網(wǎng)頁的增多,算法的效率會變低。另外,還有一種常用于聚焦爬蟲的網(wǎng)頁搜索策略最佳優(yōu)先策略。即按照某種網(wǎng)頁分析算法候選 URL 與目標網(wǎng)頁的相似度,或的相關(guān)性,并選取其中評價最好的一個或幾個 URL 進行進一步的爬取。這種策略的缺陷是可能會有很多相關(guān)網(wǎng)頁被忽略,但相對的,這種策略可以將無關(guān)網(wǎng)頁數(shù)量降低 30% 90% 。對URL 的獲取和處理網(wǎng)絡(luò)爬蟲的是html 代碼,它分析出 URL 之后,對其進行過濾并將結(jié)果放入運行隊列。在取得 URL 時要一種“爬蟲陷阱”。因為即使一個 URL 能到相應(yīng)內(nèi)容,也不能保證服務(wù)器端有一個相應(yīng)頁面存在,例如頁的應(yīng)
11、用可能會使中存在一些無法窮盡的地址,讓爬蟲在一個位置上無限循環(huán)而無法終結(jié)。過濾處理涉及兩個數(shù)組,第一個是“必須存在的關(guān)鍵字”組。分析時,中必須存在這個數(shù)組中所有關(guān)鍵字對關(guān)鍵字的過濾方法包括以下兩種:只取得包含給定關(guān)鍵字的,這樣取得的為。只取得不包含給定關(guān)鍵字的,這樣取得的為外部。頁面選取問題為提高資源利用率,需要盡可能提取最為重要的網(wǎng)頁。網(wǎng)頁的重要程度判斷有許多依據(jù),當需要判斷網(wǎng)頁與某些給定關(guān)鍵字的相關(guān)性時,需要利用網(wǎng)頁分析算法。網(wǎng)頁分析算主要有以下三種:基于網(wǎng)頁拓補、基于網(wǎng)頁內(nèi)容、基于用戶。基于網(wǎng)頁拓補,即通過已知的網(wǎng)頁或數(shù)據(jù),對其有間接關(guān)系的網(wǎng)頁或做出評價的算法,這種算法廣泛應(yīng)用于實時搜索
12、,其中又包括:網(wǎng)頁粒度分析算法、網(wǎng)站粒度分析算法、網(wǎng)頁塊粒度分析算法三種。基于網(wǎng)頁內(nèi)容,即利用網(wǎng)頁內(nèi)容(文本、錨文本、其他數(shù)據(jù)等)特征進行的網(wǎng)頁評價。其針對網(wǎng)頁數(shù)據(jù)形式不同可分為三類:、針對以文本和超為主的無結(jié)構(gòu)或結(jié)構(gòu)很簡單的網(wǎng)頁。隨著如今網(wǎng)頁內(nèi)容的多樣化,該方法已不再單獨使用。、針對從結(jié)構(gòu)化的數(shù)據(jù)源(RDBMS )動態(tài)生成的頁面,其數(shù)據(jù)不能直接批量。、介于 1 和 2 之間的,具有較好結(jié)構(gòu),遵循一定模式或風格,可直接的網(wǎng)頁。在提取 html 文檔的文本信息時要過濾標識符,但同時還要注意依照標識符來取得版式信息(如標題、粗體、關(guān)鍵字等),另外還要過濾無用(如)。錨文本可以作為所在頁面內(nèi)容的評估
13、和所指向的頁面內(nèi)容的評估,還可以收集一些搜索引擎不能索引的文件(例如)。多,等文件一般通過錨文本和相關(guān)文件注釋來判斷文件內(nèi)容。對于 doc 、pdf 等有專業(yè)廠商提供的生成的文檔,廠商會會為爬蟲提供相應(yīng)的文本提取接口的插件。對網(wǎng)頁優(yōu)先性的考慮有以下幾點:)查詢驅(qū)動的爬取此方法適于實時搜索。對于一些出現(xiàn)的熱門話題,或隨時變動的數(shù)據(jù)(如信息),數(shù)據(jù)庫里沒有這些網(wǎng)頁的信息,如果此時接受了用戶的查詢,則會通過已爬取的其他網(wǎng)頁來判斷未爬取的網(wǎng)頁的相關(guān)性。)反向數(shù))PageR值)前向數(shù))路徑深度路徑深度淺的頁面被認為更重要。1.4 網(wǎng)頁去重方法網(wǎng)頁之間的關(guān)系錯綜復(fù)雜,為了避免重復(fù)抓取同一頁面,要把需要入庫
14、的與數(shù)據(jù)庫中的運行隊列和完成隊列都進行比較。另外,大型搜索引擎多采取多爬蟲并行合作抓取的方法,這也產(chǎn)生了一些問題。例如為了避免多爬蟲合作時重復(fù)抓取同一頁面,而采用了 Crawl Caching Proxy (緩存)。網(wǎng)絡(luò)爬蟲在工作時,首先通過 DNS一個 URL 的主機 IP 地址,然后連接相應(yīng)服務(wù)器的端口并發(fā)送請求,通過服務(wù)器響應(yīng)來獲取相關(guān)頁面內(nèi)容。URL 與 IP 之間的對應(yīng)關(guān)系可能是一對一、一對多或多對一的。一個 URL 對應(yīng)多個 IP 通常出現(xiàn)在量較大的,將一個 URL 與多個 IP 綁定以分流量,減小單個服務(wù)器的壓力(如 Baidu 、);一個 IP 對應(yīng)多個 URL 則是出于節(jié)約服
15、務(wù)器的目的,或是由于公網(wǎng) IP 地址匱乏而產(chǎn)生的策略,當客戶端對該 IP 進行時,先通過請求的協(xié)議頭部來獲取需要的 URL ,再將該請求通過反向或虛擬主機的方式轉(zhuǎn)發(fā)到相應(yīng)服務(wù)。由于這種情況,若用 IP 作為判斷重復(fù)網(wǎng)頁的標準,則可能因為 URL 與 IP 的一對多而出現(xiàn)重復(fù)獲取,或因為 URL 與 IP 的多對一而出現(xiàn)遺漏。因此,爬蟲在判斷重復(fù)頁面時主要以 URL 所謂判斷標準,以保證服務(wù)的唯一性。網(wǎng)絡(luò)爬蟲的效率單線程的爬蟲由于頁面的分析和 不能同時而效率較低,因此出現(xiàn)了多線程爬蟲。有一個例子可以幫助理解多線程的意義:現(xiàn)在很多 都支持多線程同步 ,即將 內(nèi)容分成幾部分同步 ,速度比單線程要快上
16、很多。爬蟲采用線程進行循環(huán),但這存在一定弊端:一旦發(fā)生網(wǎng)絡(luò)阻塞,整個線程就一直處于等待狀態(tài)而導(dǎo)致 。一般采取線程 的方法來解決,即存在一個主線 一個 線程, 線程每隔一段時間去 一次主線 與其 的變量,一旦發(fā)現(xiàn)超時,就認為網(wǎng)絡(luò)阻塞,這時終止主線 重新啟動,由此避免了網(wǎng)絡(luò)阻塞導(dǎo)致線程一直等待 。網(wǎng)頁更新對于搜索引擎而言,評價網(wǎng)絡(luò)爬蟲效率的一個重要標準是爬蟲的開銷。爬蟲開銷 = 重復(fù)抓取的老頁面數(shù) / 發(fā)掘的新頁面數(shù)即是說,爬蟲應(yīng)當盡量發(fā)掘新頁面而減少重復(fù)頁面的爬取,而決定對某個網(wǎng)頁的更新頻率涉及到時間更新控制。一般做法是將這次抓取到的頁面上的數(shù)據(jù)與上一次相比較,如果進行連續(xù)五次這樣的比較都沒有變
17、化,則將以后爬取該網(wǎng)頁的時間擴大為原來的 2 倍;如果進行連續(xù)五次這樣的比較都有變化,則將以后爬取該網(wǎng)頁的時間縮短為原來的 1/2 。另外,爬蟲在更新網(wǎng)頁內(nèi)容時,不需要將網(wǎng)頁重新抓取一遍,只需對網(wǎng)頁的一些屬性加以判斷(如日期),并與上次結(jié)果相比即可,如果相同則無需更新。研究計劃第 1 周(3.23.8):查閱資料,學習開發(fā)和技術(shù)第 2 周(3.93.15):對功能需求進行分析第 3 周(3.163.22):功能模塊劃分及界面設(shè)計第 4 周(3.233.29):撰寫并提交畢業(yè)設(shè)計開題、英文資料翻譯第 5 周(3.304.5):進行功能模塊的詳細設(shè)計第 6 周(4.64.12):進行各功能模塊的編碼第 7 周(4.134.19):進行各功能模塊的編碼第 8 周(4.204.26):進行各功能模塊的編碼第 9 周(4.275.3):相關(guān)模塊的改進,進行綜合調(diào)試運行第 10 周(5.45.10):相關(guān)模塊的改進,進行綜合調(diào)試運行第 11 周(5.115.17):對運行中發(fā)現(xiàn)進行調(diào)整第 12 周(5.185.24):編輯用戶使用幫助文檔,完成開發(fā)第 13
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度城市配送貨車運輸承包服務(wù)合同
- 2025年度互聯(lián)網(wǎng)企業(yè)股東股份收購與轉(zhuǎn)讓服務(wù)協(xié)議
- 買賣交易合同(29篇)
- 2024-2025學年第25課中華人民共和國成立和向社會主義的過渡-勤徑學升高中歷史必修上同步練測(統(tǒng)編版2019)
- 2025年光伏產(chǎn)業(yè)協(xié)同發(fā)展協(xié)議
- 2025年醫(yī)院人員勞動合同格式
- 2025年中學食堂食材供應(yīng)合同模板
- 2025年二手住宅購買貸款合同指南
- 2025年雙方解除雇傭合同文件
- 2025年黏膜制劑材料項目提案報告模板
- 紅樓夢詩詞全集
- 像科學家一樣思考-怎么做-怎么教-
- 苯胺合成靛紅工藝
- 三年級上冊數(shù)學脫式計算大全600題及答案
- 2024年度農(nóng)村電子商務(wù)ppt演示課件
- 計算機控制系統(tǒng) 課件 第10章 網(wǎng)絡(luò)化控制系統(tǒng)的分析與設(shè)計
- 高原反應(yīng)的癥狀和處理方法
- 南京大學儀器分析習題集
- 空調(diào)維保應(yīng)急預(yù)案
- 2023年高考語文全國乙卷作文范文及導(dǎo)寫(解讀+素材+范文)課件版
- 模塊建房施工方案
評論
0/150
提交評論