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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java爬虫搜索原理实现

發布時間:2023/12/20 java 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java爬虫搜索原理实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

permike?原文?Java爬蟲搜索原理實現

沒事做,又研究了一下爬蟲搜索,兩三天時間總算是把原理鬧的差不多了,基本實現了爬蟲搜索的原理,本次實現還是倆程序,分別是按廣度優先和深度優先完成的,廣度優先沒啥問題,深度優先請慎用,有極大的概率會造成死循環情況,下面深度優先的測試網站就造成了死循環。。。。好吧,我承認是我人品不太好。。。下面有請代碼君出場~~~~~~~~~~~~~~~

1.廣度優先

?

[java]?view plaincopy
  • /**?
  • ?*?完成廣度優先搜索?
  • ?*/?package?import?import?import?import?import?import?import?import?import?importimport?/**?
  • ?*?@author?魏詩堯?
  • ?*?@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?}??

  • 上面廣度優先沒啥問題,本人昨天凌晨3點多做的測試,15分鐘左右的時間,這只小爬蟲爬到了30W+的鏈接,能力還是蠻強大的么,順便提一下,白天測試的時候會非常非常的慢,推薦各位測試君在晚上12點以后做測試。。。。。雖然不太人道。。。

    ?

    下面是深度優先的代碼,測試的時候每次都能造成死循環。。。好吧,我承認我沒有人品。。。其實基本方法和廣度優先沒啥區別,我每個頁面爬出來的鏈接只拿第一個去爬下一個頁面,總共爬多少層我懶的木有定義,就是想看看最多能爬到哪。。。然后每次都能悲劇的死循環了。。。我明明也設置了跳出的方法了啊,我有判斷有效鏈接的方式,但是我的判斷并不完善么,跳出方法我寫到了catch中,只要有一個無效鏈接,就可以跳出來了么。。。今天凌晨全都是死循環。。。。無奈了。。。。下面請代碼君上場~~~~~~~~~~


    ?

    [java]?view plaincopy
  • /**?
  • ?*?完成深度優先搜索?
  • ?*?爬蟲進行深度優先很有可能會出現死循環的情況?
  • ?*/?package?import?import?import?import?import?import?import?import?import?importimport?import?import?/**?
  • ?*?@author?魏詩堯?
  • ?*?@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?}??

  • 上面這兩篇代碼本身是十分不完善的,時間原因,我基本只實現了最基本的原理,能改動增加的地方還有很多,主要是增加,很多地方都可增加代碼來增強程序的健壯性。。。比如有效鏈接判斷的地方,我們從href標簽中取出來的內容除了我寫的幾條判斷意外還有好多東西都沒有處理掉,這個地方還是能增加很多東西的。。。

    ?

    沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的框架所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如別人所關心你的。理想的騰飛與實現,沒有別人的支持與幫助,是萬萬不能的。





    本文轉自wenglabs博客園博客,原文鏈接:http://www.cnblogs.com/arxive/p/6194372.html,如需轉載請自行聯系原作者

    總結

    以上是生活随笔為你收集整理的Java爬虫搜索原理实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。