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

正文內(nèi)容

基于java的網(wǎng)絡(luò)蜘蛛程序算法研究(編輯修改稿)

2024-12-13 22:00 本頁面
 

【文章內(nèi)容簡介】 器人程序必須能夠找到保存在它所訪問的每個網(wǎng)頁上的鏈接。網(wǎng)絡(luò)機器人程序通過分析網(wǎng)頁的 HTML代碼查找網(wǎng)頁內(nèi)所有鏈接到其它網(wǎng)頁的標(biāo)簽,根據(jù)標(biāo)簽的屬性 HREF(Hypertext Reference,超文本鏈接 )的值,網(wǎng)絡(luò)機器人程序?qū)龅饺N鏈接類型:內(nèi)部鏈接( Internal link)、外部鏈接 (External link)和其它連接 (other link)。內(nèi)部鏈接指的是超鏈接所指向的網(wǎng)頁與包含該鏈接的網(wǎng)頁在同一臺 Web 服務(wù)器中;外部鏈接指的是超鏈接所指向的網(wǎng)頁所在的 Web 站點與包含該鏈接的 Web 站點不同;其它鏈接指的是超鏈接指向非網(wǎng)頁的資源,如指向 Email地址等。 程序的設(shè)計思想 開發(fā)和設(shè)計網(wǎng)絡(luò)機器人程序有兩種思想可以選擇:一種就是將程序設(shè)計為遞歸的程序;另一種就是將程序設(shè)計為非遞歸的程序。采用遞歸設(shè)計的程序思路清晰簡單,但存在兩個主要的問題:第一問題就是如果程序要運行很多次,被壓入遞歸的堆棧會變得非常大,它可能會耗盡整個堆棧的內(nèi)存并終 止程序的運行;第二問題就是多線程技術(shù)與遞歸技術(shù)不能兼容。所以開發(fā)高性能的網(wǎng)絡(luò)機器人程序不能采用遞歸的程序設(shè)計思想。 我們研究的高性能網(wǎng)絡(luò)機器人采用的是非遞歸程序設(shè)計思想,當(dāng)使用非遞歸的方法時,先給定網(wǎng)絡(luò)機器人一個要訪問的網(wǎng)頁集合,它會把這一集合加到它將要訪問站點的隊列中去。網(wǎng)絡(luò)機器人發(fā)現(xiàn)每個新的網(wǎng)頁時不使用調(diào)用自身的方法,而是將新發(fā)現(xiàn)的鏈接加入到該隊列中。當(dāng)網(wǎng)絡(luò)機器人處理完當(dāng)前的網(wǎng)頁后,它會在隊列中查找要處理的下一頁。 實際工作的時候網(wǎng)絡(luò)機器人總共使用了四個隊列,每個這樣的隊列保存著同一處理狀態(tài)的 URL,它 們?nèi)缦拢? 等待隊列 :在這個隊列中, URL 等待被網(wǎng)絡(luò)機器人處理。新發(fā)現(xiàn)的 URL 被加入到這個隊列。 處理隊列 :當(dāng)網(wǎng)絡(luò)機器人開始處理時,它們被傳送到這個隊列。當(dāng)一個 URL 被處理后,它被移送到錯誤隊列或者完成隊列中。 錯誤隊列 :如果在處理該網(wǎng)頁時發(fā)生了錯誤,它的 URL 將被加入到錯誤隊列中。網(wǎng)絡(luò)機器人將不會對加入到錯誤隊列的網(wǎng)頁做進一步地處理。 完成隊列 :如果在下載網(wǎng)頁時沒有發(fā)生錯誤,該 URL 將被加入到完成隊列中。加入到完成隊列中的 URL將不會再移入其他隊列中。 URL 處理狀態(tài)流程圖 : 發(fā)現(xiàn) URL 錯誤隊列 完成 URL 完成隊列 等待隊列 處理隊列 圖 1 URL 處理狀態(tài)流程圖 算法分析 我 們的算法設(shè)計主要就是依據(jù)非遞歸的思想構(gòu)造的,當(dāng)一個 URL 被加入到等待隊列中時,網(wǎng)絡(luò)機器人就會開始運行。只要等待隊列中有一個網(wǎng)頁或網(wǎng)絡(luò)機器人正在處理一個網(wǎng)頁,網(wǎng)絡(luò)機器人就會繼續(xù)它的工作。當(dāng)?shù)却犃袨榭詹⑶耶?dāng)前沒有處理任何網(wǎng)頁,網(wǎng)絡(luò)機器人就會停止它的工作。基本的算法如下所示: Initialize URLS。//用一個 URL 集合初始化網(wǎng)絡(luò)機器人。 Queue enum{WaitQ,FinishQ,RunQ,MistakeQ}。//隊列類型:等待、完成、處理、錯誤隊列。 FileText。 LinkType enum{InternalLink,ExternalLink,OtherLink}。//超鏈類型:內(nèi)部、外部、其他鏈接。 Begin For url in URLS Do PopQueue(url,WaitQ)。//初始化 URL 集合被加入到等待隊列中。 While WaitQ is not empty Do//判斷等待隊列是否有 URL.。 Begin
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1