Java爬虫搜索原理实现
permike?原文?Java爬蟲(chóng)搜索原理實(shí)現(xiàn)
沒(méi)事做,又研究了一下爬蟲(chóng)搜索,兩三天時(shí)間總算是把原理鬧的差不多了,基本實(shí)現(xiàn)了爬蟲(chóng)搜索的原理,本次實(shí)現(xiàn)還是倆程序,分別是按廣度優(yōu)先和深度優(yōu)先完成的,廣度優(yōu)先沒(méi)啥問(wèn)題,深度優(yōu)先請(qǐng)慎用,有極大的概率會(huì)造成死循環(huán)情況,下面深度優(yōu)先的測(cè)試網(wǎng)站就造成了死循環(huán)。。。。好吧,我承認(rèn)是我人品不太好。。。下面有請(qǐng)代碼君出場(chǎng)~~~~~~~~~~~~~~~
1.廣度優(yōu)先
?
[java]?view plaincopy上面廣度優(yōu)先沒(méi)啥問(wèn)題,本人昨天凌晨3點(diǎn)多做的測(cè)試,15分鐘左右的時(shí)間,這只小爬蟲(chóng)爬到了30W+的鏈接,能力還是蠻強(qiáng)大的么,順便提一下,白天測(cè)試的時(shí)候會(huì)非常非常的慢,推薦各位測(cè)試君在晚上12點(diǎn)以后做測(cè)試。。。。。雖然不太人道。。。
?
下面是深度優(yōu)先的代碼,測(cè)試的時(shí)候每次都能造成死循環(huán)。。。好吧,我承認(rèn)我沒(méi)有人品。。。其實(shí)基本方法和廣度優(yōu)先沒(méi)啥區(qū)別,我每個(gè)頁(yè)面爬出來(lái)的鏈接只拿第一個(gè)去爬下一個(gè)頁(yè)面,總共爬多少層我懶的木有定義,就是想看看最多能爬到哪。。。然后每次都能悲劇的死循環(huán)了。。。我明明也設(shè)置了跳出的方法了啊,我有判斷有效鏈接的方式,但是我的判斷并不完善么,跳出方法我寫(xiě)到了catch中,只要有一個(gè)無(wú)效鏈接,就可以跳出來(lái)了么。。。今天凌晨全都是死循環(huán)。。。。無(wú)奈了。。。。下面請(qǐng)代碼君上場(chǎng)~~~~~~~~~~
?
[java]?view plaincopy上面這兩篇代碼本身是十分不完善的,時(shí)間原因,我基本只實(shí)現(xiàn)了最基本的原理,能改動(dòng)增加的地方還有很多,主要是增加,很多地方都可增加代碼來(lái)增強(qiáng)程序的健壯性。。。比如有效鏈接判斷的地方,我們從href標(biāo)簽中取出來(lái)的內(nèi)容除了我寫(xiě)的幾條判斷意外還有好多東西都沒(méi)有處理掉,這個(gè)地方還是能增加很多東西的。。。
?
沒(méi)有整理與歸納的知識(shí),一文不值!高度概括與梳理的知識(shí),才是自己真正的知識(shí)與技能。 永遠(yuǎn)不要讓自己的自由、好奇、充滿(mǎn)創(chuàng)造力的想法被現(xiàn)實(shí)的框架所束縛,讓創(chuàng)造力自由成長(zhǎng)吧! 多花時(shí)間,關(guān)心他(她)人,正如別人所關(guān)心你的。理想的騰飛與實(shí)現(xiàn),沒(méi)有別人的支持與幫助,是萬(wàn)萬(wàn)不能的。本文轉(zhuǎn)自wenglabs博客園博客,原文鏈接:http://www.cnblogs.com/arxive/p/6194372.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Java爬虫搜索原理实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用 pywin32 操作 excel
- 下一篇: java美元兑换,(Java实现) 美元