日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java爬虫搜索原理实现

發(fā)布時(shí)間:2023/12/20 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java爬虫搜索原理实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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)先搜索?
  • ?*/?package?import?import?import?import?import?import?import?import?import?importimport?/**?
  • ?*?@author?魏詩(shī)堯?
  • ?*?@version?1.8?
  • ?*?@emali?inwsy@hotmail.com?
  • ?*/?publicclass???
  • privatevoid???
  • null???
  • null???
  • null?try???
  • new???
  • ??
  • ??
  • new?bytenewbyte1024?int;??
  • ??
  • while,?))?!=?-)?{??
  • ,?len);??
  • ??
  • new);??
  • catch?);??
  • finally?try???
  • ifnull?ifnull?catch???
  • privatevoid???
  • null?null?null?try???
  • newtrue?new);??
  • newnew???
  • whilenull???
  • ??
  • ??
  • while?);??
  • ??
  • if)?{??
  • continue?if)?==?)?{??
  • continue?if))?{??
  • continue?if)?!=?-)?{??
  • continue?if)?!=?-)?{??
  • continue?if))?{??
  • continue???
  • ??
  • );??
  • catch?);??
  • finally???
  • try?ifnull?ifnull?ifnull?catch???
  • privatevoid???
  • null?null?try???
  • new);??
  • newnew???
  • new???
  • whilenull???
  • );??
  • catch?finally?try???
  • ifnull?ifnull?catch?publicstaticvoidthrows???
  • new,?);??
  • ??
  • new?}??

  • 上面廣度優(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
  • /**?
  • ?*?完成深度優(yōu)先搜索?
  • ?*?爬蟲(chóng)進(jìn)行深度優(yōu)先很有可能會(huì)出現(xiàn)死循環(huán)的情況?
  • ?*/?package?import?import?import?import?import?import?import?import?import?importimport?import?import?/**?
  • ?*?@author?魏詩(shī)堯?
  • ?*?@version?1.8?
  • ?*?@emali?inwsy@hotmail.com?
  • ?*/?publicclass???
  • privatestaticnew???
  • privatevoid???
  • null???
  • null???
  • null?try???
  • new???
  • ??
  • ??
  • new?bytenewbyte1024?int;??
  • ??
  • while,?))?!=?-)?{??
  • ,?len);??
  • new);??
  • catch?);??
  • finally?try???
  • ifnull?ifnull?catch???
  • privatevoid???
  • null?null?try???
  • new);??
  • newnew???
  • whilenull???
  • ??
  • ??
  • while?);??
  • ??
  • if)?{??
  • continue?if)?==?)?{??
  • continue?if))?{??
  • continue?if)?!=?-)?{??
  • continue?if)?!=?-)?{??
  • continue?if))?{??
  • continue???
  • ??
  • whilenull?new);??
  • break?catch?);??
  • new?finally???
  • try?ifnull?ifnull?catch?publicvoid?null?try???
  • new,?true???
  • while?);??
  • catch?);??
  • finally?try?ifnull?catch?publicstaticvoid?new,?);??
  • new?}??

  • 上面這兩篇代碼本身是十分不完善的,時(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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。