java網(wǎng)絡爬蟲實例

java網(wǎng)絡爬蟲實例

ID:9533033

大?。?03.00 KB

頁數(shù):34頁

時間:2018-05-03

java網(wǎng)絡爬蟲實例_第1頁
java網(wǎng)絡爬蟲實例_第2頁
java網(wǎng)絡爬蟲實例_第3頁
java網(wǎng)絡爬蟲實例_第4頁
java網(wǎng)絡爬蟲實例_第5頁
資源描述:

《java網(wǎng)絡爬蟲實例》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、網(wǎng)絡蜘蛛即WebSpider,是一個很形象的名字。把互聯(lián)網(wǎng)比喻成一個蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來爬去的蜘蛛。網(wǎng)絡蜘蛛是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁,從網(wǎng)站某一個頁面(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網(wǎng)頁,這樣一直循環(huán)下去,直到把這個網(wǎng)站所有的網(wǎng)頁都抓取完為止。如果把整個互聯(lián)網(wǎng)當成一個網(wǎng)站,那么網(wǎng)絡蜘蛛就可以用這個原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來?! τ谒阉饕鎭碚f,要抓取互聯(lián)網(wǎng)上所有的網(wǎng)頁幾乎是不可能的,從目前公布的數(shù)據(jù)來看,容量最大的搜索引擎也不過是抓取了整個網(wǎng)頁數(shù)量的百分之四十左右。這其中

2、的原因一方面是抓取技術(shù)的瓶頸,無法遍歷所有的網(wǎng)頁,有許多網(wǎng)頁無法從其它網(wǎng)頁的鏈接中找到;另一個原因是存儲技術(shù)和處理技術(shù)的問題,如果按照每個頁面的平均大小為20K計算(包含圖片),100億網(wǎng)頁的容量是100×2000G字節(jié),即使能夠存儲,下載也存在問題(按照一臺機器每秒下載20K計算,需要340臺機器不停的下載一年時間,才能把所有網(wǎng)頁下載完畢)。同時,由于數(shù)據(jù)量太大,在提供搜索時也會有效率方面的影響。因此,許多搜索引擎的網(wǎng)絡蜘蛛只是抓取那些重要的網(wǎng)頁,而在抓取的時候評價重要性主要的依據(jù)是某個網(wǎng)頁的鏈接深度?! ≡谧ト【W(wǎng)頁的時候,網(wǎng)絡蜘蛛一般有兩種策略:廣度優(yōu)先和深度優(yōu)

3、先。??廣度優(yōu)先是指網(wǎng)絡蜘蛛會先抓取起始網(wǎng)頁中鏈接的所有網(wǎng)頁,然后再選擇其中的一個鏈接網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中鏈接的所有網(wǎng)頁。這是最常用的方式,因為這個方法可以讓網(wǎng)絡蜘蛛并行處理,提高其抓取速度。深度優(yōu)先是指網(wǎng)絡蜘蛛會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個起始頁,繼續(xù)跟蹤鏈接。這個方法有個優(yōu)點是網(wǎng)絡蜘蛛在設計的時候比較容易。兩種策略的區(qū)別,下圖的說明會更加明確?! ∮捎诓豢赡茏ト∷械木W(wǎng)頁,有些網(wǎng)絡蜘蛛對一些不太重要的網(wǎng)站,設置了訪問的層數(shù)。例如,在上圖中,A為起始網(wǎng)頁,屬于0層,B、C、D、E、F屬于第1層,G、H屬于第2層,I屬于

4、第3層。如果網(wǎng)絡蜘蛛設置的訪問層數(shù)為2的話,網(wǎng)頁I是不會被訪問到的。這也讓有些網(wǎng)站上一部分網(wǎng)頁能夠在搜索引擎上搜索到,另外一部分不能被搜索到。對于網(wǎng)站設計者來說,扁平化的網(wǎng)站結(jié)構(gòu)設計有助于搜索引擎抓取其更多的網(wǎng)頁?! 【W(wǎng)絡蜘蛛在訪問網(wǎng)站網(wǎng)頁的時候,經(jīng)常會遇到加密數(shù)據(jù)和網(wǎng)頁權(quán)限的問題,有些網(wǎng)頁是需要會員權(quán)限才能訪問。當然,網(wǎng)站的所有者可以通過協(xié)議讓網(wǎng)絡蜘蛛不去抓?。ㄏ滦」?jié)會介紹),但對于一些出售報告的網(wǎng)站,他們希望搜索引擎能搜索到他們的報告,但又不能完全**的讓搜索者查看,這樣就需要給網(wǎng)絡蜘蛛提供相應的用戶名和密碼。網(wǎng)絡蜘蛛可以通過所給的權(quán)限對這些網(wǎng)頁進行網(wǎng)頁抓取,從

5、而提供搜索。而當搜索者點擊查看該網(wǎng)頁的時候,同樣需要搜索者提供相應的權(quán)限驗證。 網(wǎng)站與網(wǎng)絡蜘蛛  網(wǎng)絡蜘蛛需要抓取網(wǎng)頁,不同于一般的訪問,如果控制不好,則會引起網(wǎng)站服務器負擔過重。去年4月,淘寶http://www.taobao.com)就因為雅虎搜索引擎的網(wǎng)絡蜘蛛抓取其數(shù)據(jù)引起淘寶網(wǎng)服務器的不穩(wěn)定。網(wǎng)站是否就無法和網(wǎng)絡蜘蛛交流呢?其實不然,有多種方法可以讓網(wǎng)站和網(wǎng)絡蜘蛛進行交流。一方面讓網(wǎng)站管理員了解網(wǎng)絡蜘蛛都來自哪兒,做了些什么,另一方面也告訴網(wǎng)絡蜘蛛哪些網(wǎng)頁不應該抓取,哪些網(wǎng)頁應該更新。  每個網(wǎng)絡蜘蛛都有自己的名字,在抓取網(wǎng)頁的時候,都會向網(wǎng)站標明自己的身份

6、。網(wǎng)絡蜘蛛在抓取網(wǎng)頁的時候會發(fā)送一個請求,這個請求中就有一個字段為User-agent,用于標識此網(wǎng)絡蜘蛛的身份。例如Google網(wǎng)絡蜘蛛的標識為GoogleBot,Baidu網(wǎng)絡蜘蛛的標識為BaiDuSpider,Yahoo網(wǎng)絡蜘蛛的標識為InktomiSlurp。如果在網(wǎng)站上有訪問日志記錄,網(wǎng)站管理員就能知道,哪些搜索引擎的網(wǎng)絡蜘蛛過來過,什么時候過來的,以及讀了多少數(shù)據(jù)等等。如果網(wǎng)站管理員發(fā)現(xiàn)某個蜘蛛有問題,就通過其標識來和其所有者聯(lián)系。下面是博客中http://www.blogchina.com)2004年5月15日的搜索引擎訪問日志:  網(wǎng)絡蜘蛛進入一個網(wǎng)

7、站,一般會訪問一個特殊的文本文件Robots.txt,這個文件一般放在網(wǎng)站服務器的根目錄下,http://www.blogchina.com/robots.txt。網(wǎng)站管理員可以通過robots.txt來定義哪些目錄網(wǎng)絡蜘蛛不能訪問,或者哪些目錄對于某些特定的網(wǎng)絡蜘蛛不能訪問。例如有些網(wǎng)站的可執(zhí)行文件目錄和臨時文件目錄不希望被搜索引擎搜索到,那么網(wǎng)站管理員就可以把這些目錄定義為拒絕訪問目錄。Robots.txt語法很簡單,例如如果對目錄沒有任何限制,可以用以下兩行來描述:  User-agent:*  Disallow:  當然,Robots.txt只是一個協(xié)議

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。