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

正文內(nèi)容

網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn)畢業(yè)論文-wenkub.com

2025-06-20 02:26 本頁面
   

【正文】 參考文獻33參考文獻,簡析搜索引擎中網(wǎng)絡(luò)爬蟲的搜索策略[N],阜陽師范學院學報(自然科學版),2022(09) : P60~63.,基于 JAVA 的多線程 SPIDER 的設(shè)計與實現(xiàn)[J] ,福建電腦,2022(06):P62~63.,基于網(wǎng)絡(luò)的信息獲取技術(shù)淺析[J],福建電腦,2022(04):P60~61.,網(wǎng)絡(luò)蜘蛛搜索策略比較研究[A],計算機工程與應(yīng)用, 2022(04):P131.,支持 Web 信息分類的高性能蜘蛛程序 [J],小型微型計算機系統(tǒng),2022(07):P1309 ~ 1312.,JAVA 線程[A],JAVASE 平臺程序設(shè)計和實戰(zhàn),2022(05):P103~135.,搜索引擎中數(shù)據(jù)獲取的設(shè)計與實現(xiàn)[J] 沈陽:小型微型計算機系統(tǒng),1999. Diligenti, Frans Coetzee, Steve Lawrence, etal. Focused Craw ling using Context Graph s[J ], Intemat ional Conference on Very Large Databases. 2022, (26) : P 527~534.. 分布式 Web Crawler 的研究: 結(jié)構(gòu)、算法和策略 [J ]. 電子學報, 2022, 30 (12A ).[電子科技大學成都學院本科畢業(yè)設(shè)計論文34致謝我要感謝畢業(yè)論文指導老師,朱大勇老師,感謝他在論文方向和論文實施計劃上給予我指導。要深刻地理解爬蟲程序,在爬蟲程序設(shè)計中有所作為,還需要長達幾年,或者更長時間的積累。網(wǎng)絡(luò)爬蟲是一個自動搜集互聯(lián)網(wǎng)信息的工具,實現(xiàn)了網(wǎng)絡(luò)爬蟲,就可以在互聯(lián)網(wǎng)這樣一個巨大的信息海洋里遨游。根據(jù)顯示結(jié)果可以看出,不同的線程的確是在交替完成爬行任務(wù)。所以這個 URL 被加入 URL 隊列。然后被檢索出來的 href 標簽是:這是一段完整 URL,但是其 host 名同初始 URL 不一致,同時它的后綴為css,表明它指向的文件為 css 文件。但分析這個 URL 可以得知。圖 部分運行結(jié)果圖 為最先爬蟲出來的 URLs 結(jié)果。}第六章 系統(tǒng)測試29第六章 系統(tǒng)測試我以 URL。電子科技大學成都學院本科畢業(yè)設(shè)計論文28try {// 加載Connector/J驅(qū)動().newInstance()。而 databasequeue 表記錄爬蟲程序運行得到的所有 URLs。 數(shù)據(jù)庫設(shè)計對于 MYSQL 數(shù)據(jù)庫的設(shè)計。try {stmt = ().createStatement()。然后刪除數(shù)據(jù)庫中這 25 條數(shù)據(jù)。通過調(diào)用waitQueueAdd()這個函數(shù)來實現(xiàn)。+ url + 39。+ url + 39。while (() 0) {try {stmt = ().createStatement()。方法是取出下標為 0 的元素,將其加入到數(shù)據(jù)庫,然后刪除下標為 0 的元素。所以這里就會有 2 個方法來完成數(shù)據(jù)直接的交接。} URL 等待隊列維護對 URL 等待隊列的操作主要有 2 個:從里面取出 URLs。public synchronized boolean isContainUrl(String url) {if ((/)) {url = (0, () 1)。因為有些網(wǎng)站的 URL寫法不固定。}}Overridepublic V put(K key, V value) {try {()。}Overrideprotected boolean removeEldestEntry(K, V eldest) {return size() maxCapacity。private static final float DEFAULT_LOAD_FACTOR = 。這個Map 非常好,它總是淘汰重復次數(shù)最少的 URL。我先通過 MD5 壓縮來得到每個URL 對于的一個 hash 碼。)) + .)) {return true。其他情況的代碼可以類推。}過濾完后的 URLs,再判斷它為站內(nèi) URL 或者為站外 URL。像這種情況我們就直接拋棄這些 URLs。假如這個相對地址的父 URL為 地址的概念,../為返回上一層,所以可以得到這個相對地址的絕對地址為 2 種URL,它包含完整的協(xié)議信息,域名地址。}(siteInsideUrls)。url = (0, (\))。while (haveHref) {html_text = ((href=) + 5)。下面是 href=后面接續(xù)雙引號情況的 JAVA 代碼,其他情況的代碼方式相同。我們繼續(xù)檢索 href=標簽,判斷它的第 i+1 位為一個單引號,所以我們又截取i+1 位到第 2 個單引號的位置。a href= class=focu首頁/aa href=’movie_2022/mlist/’ target=_self動作片/aa href=movie_2022/mlist/ target=_self恐怖片/aa href=movie_2022/mlist/ 愛情片/a例如上面那段 HTML 代碼。 URL 解析從 HTML 代碼中提取 URLs,主要是通過檢索字符串中的 href 字符串來實現(xiàn)的。電子科技大學成都學院本科畢業(yè)設(shè)計論文22while ((c = ()) != null) {(c)。// 打開的連接讀取的輸入流。URL url = null。當?shù)玫饺蝿?wù) URL 以后,會通過這個 URL 得到對應(yīng)的 HTML 代碼。因為 URL 隊列會出現(xiàn)為空或者被其他線程占用的情況。 爬蟲工作這個類繼承自線程類,實現(xiàn)線程在 java 中有兩種方法:一種是直接繼承Thread 類;一種是實現(xiàn) Runnable 接口。當這個 List 中的數(shù)目過多時,則將 List 中的內(nèi)容加入到數(shù)據(jù)庫,并清空該 List,以便加入新的 URLs;第二段為數(shù)據(jù)庫,當?shù)谝欢螖?shù)據(jù)過多時,將第一段內(nèi)的數(shù)據(jù)存入數(shù)據(jù)庫;第三段也為一個 List,從這里面分配任務(wù)URL,當該 List 內(nèi) URL 不足時,將數(shù)據(jù)庫里的數(shù)據(jù)再轉(zhuǎn)存入。然后再進行 URL 消重處理,最后加入到 URL等待隊列。相對地址需要先轉(zhuǎn)化為絕對地址,再進行過濾。但是有些 URLs 是通過提交表單,或者通過 javascript 來跳轉(zhuǎn)的。lia href=movie_2022/html/ target=_blank我猜[20220531]/aem531/em/lilia href=movie_2022/html/? target=_blank火影忍者[331 ,頁面上 303 既是]/a/li第四章 系統(tǒng)實現(xiàn)19通過觀察得知,一般 href 標簽是以 href=這樣的形式出現(xiàn)的。通過這樣的存儲方法實現(xiàn)如圖 的廣度爬行算法。第一個方框是將初始 URL:a 加入到等待隊列。當獲取到 b 的 URLs 之后,并不會馬上去解析這些 URLs,而是先解析同 b 在同一層中的 cd 對應(yīng)的 URLs。然后依次獲取這些 URLs 對應(yīng)的 HTML 里的 URLs,當這一層所有的 URLs 都下載解析完后,在獲取下一層的信息。以此類推,多個線程并發(fā)地去完成爬蟲工作。圖 圖 表示了該系統(tǒng)爬蟲線程的實現(xiàn)策略。這是因為,當一個遞歸程序運行時要把每次遞歸壓入堆棧,但在本系統(tǒng)設(shè)計中使用的是多線程,它允許一次運行多個任務(wù),但是,多線程與遞歸是不兼容的。④繼續(xù)執(zhí)行步驟③,直到結(jié)束條件停止。②創(chuàng)建爬蟲線程,啟動爬蟲線程第三章 系統(tǒng)需求分析及模塊設(shè)計15③每個爬蟲線程從 URL 等待隊列中取得任務(wù) URL。UrlQueueManager 類:該類用于維護 URL 等待隊列,分配任務(wù) URL,URL消重模塊。 任務(wù)調(diào)度端則是站點的 URL. 在這些 URL 隊列上有大量的操作, 包括URL 查找、 URL 插入、URL 狀態(tài)更新等. 如果 SPIDER 以 300 頁 246。一個再大型的站點,其中的網(wǎng)頁數(shù)目也是有限的,因此 SPIDER 程序能在有限的時間內(nèi)結(jié)束。我們可以把網(wǎng)絡(luò)看做一個圖 M(V,E),網(wǎng)絡(luò)中的網(wǎng)頁構(gòu)成節(jié)點集 V,他們之間的鏈接構(gòu)成邊集 E,SPIDER 正是從某一節(jié)點開始,沿著邊,遍歷圖M,每訪問到圖中一個節(jié)點 Vi,就進行一定的處理。ou t (C) 在下載網(wǎng)頁前,我們需要判斷目標網(wǎng)頁是否存在,這時調(diào)用 URLConnection 類的 getHeaderField()方法,獲得服務(wù)器返回給 SPIDER 程序的響應(yīng)碼,如果響應(yīng)碼包含”20*”字樣,表示目標網(wǎng)頁存在,下一步就下載網(wǎng)頁,否則就不下載。電子科技大學成都學院本科畢業(yè)設(shè)計論文8 URL 類訪問網(wǎng)絡(luò)JAVA 提供了許多支 Inter 連接的類,URL 類就是其中之一??梢詤⒖?Google的 LRU 算法實現(xiàn) URL 消重用雙向鏈表來實現(xiàn)大容量 cache 的 LRU 算法。使用了 Berkeley DB,你就不需要考慮進行磁盤 IO 操作的性能損失了,這個數(shù)據(jù)庫在設(shè)計的時候很好地考慮了這些問題,并且該數(shù)據(jù)庫支持高并發(fā),支持記錄的順序存儲和隨機存儲,是一個不錯的選擇。況且,在爬蟲進行檢測的過程中,可以通過記錄日志來保存在進行 MD5 時發(fā)生碰撞的 URL,通過單獨對該 URL 進行處理也是可行的。 基于 MD5 壓縮映射的存儲MD5 算法是一種加密算法,同時它也是基于 Hash 的算法。 基于 Hash 算法的存儲對每一個給定的 URL,都是用一個已經(jīng)建立好的 Hash 函數(shù),映射到某個物理地址上。你可以把全部已經(jīng)下載完成的 URL 存放到磁盤記事本文件中。接著要考慮的就是如何能夠更加高效地讓爬蟲工作,確切地說,讓去重工作更加高效。這種操作對數(shù)據(jù)庫系統(tǒng)是一個災難,理論上任何需要產(chǎn)生磁盤 I/O 動作的存儲系統(tǒng)都無法滿足這種查詢的需求。所謂的虛擬儲存器,是指具有請求調(diào)入和置換功能,能從邏輯上對內(nèi)存容量加以擴充的一種儲存器系統(tǒng)。synchronized 關(guān)鍵字實現(xiàn)的基本操作是把每個需要線程同步的部分定義為一個臨界區(qū),在臨界區(qū)中同一時刻只有一個線程被執(zhí)行。所以 JAVA 中的每個對象都有自己的鎖。JAVA 提供了多種機制以實現(xiàn)線程同步。線程調(diào)度程序會根據(jù)調(diào)度情況,將正在運行中的線程設(shè)置為 Runnable 狀態(tài),例如,有一個比當前運行狀態(tài)線程更高運行等級的線程進入 Runnable 狀態(tài),就可能將當前運行的線程從 Running 狀態(tài)“踢出”,讓它回到 Runnable 狀態(tài)。線程調(diào)度程序根據(jù)調(diào)度策略來調(diào)度不同的線程,調(diào)用線程的 run 方法給已經(jīng)注冊的各個線程以執(zhí)行的機會,被調(diào)度執(zhí)行的線程進入運行(Running)狀態(tài)。 JAVA 中的線程的生命周期JAVA 的線程從產(chǎn)生到消失,可分為 5 種狀態(tài):新建(New),可運行(Runnable),運行( Running),阻塞(Blocked)以及死亡(Dead)。調(diào)用 start()方法并不一定馬上會執(zhí)行這個線程,正如上面所說,它只是進入Runnble 而不是 Running。創(chuàng)建一個隸屬于 group 線程組,目標為 target 的線程。創(chuàng)建一個名為 name 的目標為 target 的線程。創(chuàng)建一個線程。JVM 還通常會創(chuàng)建一些其他的線程,不過,這些線程對我們而言通常都是不可見的。可以形象的理解為,在一個 JAVA 程序內(nèi)部虛擬了多臺計算機,每臺計算機對應(yīng)一個線程,有自己的 CPU,可以獲取所需的代碼和數(shù)據(jù),因此能獨立執(zhí)行任務(wù),相互間還可以共用代碼和數(shù)據(jù)。每個任務(wù)稱為一個線程,能夠同時運行多個線程的程序稱為多線程程序。我們?nèi)说母兄獣r間可能以秒來計算??雌饋?,它們都同時在我的機器上給我工作。一般來說,這些操作系統(tǒng)都支持多進程操作。實現(xiàn)網(wǎng)絡(luò)爬蟲的重點和難點有:多線程的實現(xiàn);對臨界資源的分配;遍歷 web圖的遍歷策略選擇和實現(xiàn);存儲數(shù)據(jù)結(jié)構(gòu)的選擇和實現(xiàn)。它為搜索引擎從互聯(lián)網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成部分。目前幾種比較常用的爬蟲實現(xiàn)策略:廣度優(yōu)先的爬蟲程序,Repetitive 爬蟲程序,定義爬行爬蟲程序,深層次爬行爬蟲程序。在建立搜索引擎的過程中,搜集網(wǎng)頁是非常重要的一個環(huán)節(jié)。 Breadth First Search。 why to use multithreading, and how to implement multithread。本論文闡述了網(wǎng)絡(luò)爬蟲實現(xiàn)中一些主要問題:為何使用廣度優(yōu)先的爬行策略,以及如何實現(xiàn)廣度優(yōu)先爬行;為何要使用多線程,以及如何實現(xiàn)多線程;系統(tǒng)實現(xiàn)過程中的數(shù)據(jù)存儲;網(wǎng)頁信息解析等。摘要Ⅰ摘要網(wǎng)絡(luò)爬蟲是一種自動搜集互聯(lián)網(wǎng)信息的程序。通過實現(xiàn)這一爬蟲程序,可以搜集某一站點的 URLs,并將搜集到的 URLs存入數(shù)據(jù)庫。 data structure。 multithreads.目錄第一章 引言 .........................................................1第二章 相關(guān)技術(shù)介紹 .................................................2 JAVA 線程 ......................................................2 線程概述 ....................................
點擊復制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1