java網(wǎng)絡(luò)爬蟲實例重點文檔

java網(wǎng)絡(luò)爬蟲實例重點文檔

ID:796219

大小:99.03 KB

頁數(shù):34頁

時間:2017-09-05

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

《java網(wǎng)絡(luò)爬蟲實例重點文檔》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

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

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

3、抓取網(wǎng)頁的時候,網(wǎng)絡(luò)蜘蛛一般有兩種策略:廣度優(yōu)先和深度優(yōu)先。??廣度優(yōu)先是指網(wǎng)絡(luò)蜘蛛會先抓取起始網(wǎng)頁中鏈接的所有網(wǎng)頁,然后再選擇其中的一個鏈接網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中鏈接的所有網(wǎng)頁。這是最常用的方式,因為這個方法可以讓網(wǎng)絡(luò)蜘蛛并行處理,提高其抓取速度。深度優(yōu)先是指網(wǎng)絡(luò)蜘蛛會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個起始頁,繼續(xù)跟蹤鏈接。這個方法有個優(yōu)點是網(wǎng)絡(luò)蜘蛛在設(shè)計的時候比較容易。兩種策略的區(qū)別,下圖的說明會更加明確。  由于不可能抓取所有的網(wǎng)頁,有些網(wǎng)絡(luò)蜘蛛對一些不太重要的網(wǎng)站,設(shè)置了訪問的層數(shù)。例如,在上

4、圖中,A為起始網(wǎng)頁,屬于0層,B、C、D、E、F屬于第1層,G、H屬于第2層,I屬于第3層。如果網(wǎng)絡(luò)蜘蛛設(shè)置的訪問層數(shù)為2的話,網(wǎng)頁I是不會被訪問到的。這也讓有些網(wǎng)站上一部分網(wǎng)頁能夠在搜索引擎上搜索到,另外一部分不能被搜索到。對于網(wǎng)站設(shè)計者來說,扁平化的網(wǎng)站結(jié)構(gòu)設(shè)計有助于搜索引擎抓取其更多的網(wǎng)頁?! 【W(wǎng)絡(luò)蜘蛛在訪問網(wǎng)站網(wǎng)頁的時候,經(jīng)常會遇到加密數(shù)據(jù)和網(wǎng)頁權(quán)限的問題,有些網(wǎng)頁是需要會員權(quán)限才能訪問。當(dāng)然,網(wǎng)站的所有者可以通過協(xié)議讓網(wǎng)絡(luò)蜘蛛不去抓?。ㄏ滦」?jié)會介紹),但對于一些出售報告的網(wǎng)站,他們希望搜索引擎能搜索到他們的報告,但又不能完全**

5、的讓搜索者查看,這樣就需要給網(wǎng)絡(luò)蜘蛛提供相應(yīng)的用戶名和密碼。網(wǎng)絡(luò)蜘蛛可以通過所給的權(quán)限對這些網(wǎng)頁進(jìn)行網(wǎng)頁抓取,從而提供搜索。而當(dāng)搜索者點擊查看該網(wǎng)頁的時候,同樣需要搜索者提供相應(yīng)的權(quán)限驗證?!【W(wǎng)站與網(wǎng)絡(luò)蜘蛛  網(wǎng)絡(luò)蜘蛛需要抓取網(wǎng)頁,不同于一般的訪問,如果控制不好,則會引起網(wǎng)站服務(wù)器負(fù)擔(dān)過重。去年4月,淘寶http://www.taobao.com)就因為雅虎搜索引擎的網(wǎng)絡(luò)蜘蛛抓取其數(shù)據(jù)引起淘寶網(wǎng)服務(wù)器的不穩(wěn)定。網(wǎng)站是否就無法和網(wǎng)絡(luò)蜘蛛交流呢?其實不然,有多種方法可以讓網(wǎng)站和網(wǎng)絡(luò)蜘蛛進(jìn)行交流。一方面讓網(wǎng)站管理員了解網(wǎng)絡(luò)蜘蛛都來自哪兒,做了些

6、什么,另一方面也告訴網(wǎng)絡(luò)蜘蛛哪些網(wǎng)頁不應(yīng)該抓取,哪些網(wǎng)頁應(yīng)該更新。  每個網(wǎng)絡(luò)蜘蛛都有自己的名字,在抓取網(wǎng)頁的時候,都會向網(wǎng)站標(biāo)明自己的身份。網(wǎng)絡(luò)蜘蛛在抓取網(wǎng)頁的時候會發(fā)送一個請求,這個請求中就有一個字段為User-agent,用于標(biāo)識此網(wǎng)絡(luò)蜘蛛的身份。例如Google網(wǎng)絡(luò)蜘蛛的標(biāo)識為GoogleBot,Baidu網(wǎng)絡(luò)蜘蛛的標(biāo)識為BaiDuSpider,Yahoo網(wǎng)絡(luò)蜘蛛的標(biāo)識為InktomiSlurp。如果在網(wǎng)站上有訪問日志記錄,網(wǎng)站管理員就能知道,哪些搜索引擎的網(wǎng)絡(luò)蜘蛛過來過,什么時候過來的,以及讀了多少數(shù)據(jù)等等。如果網(wǎng)站管理員發(fā)現(xiàn)某

7、個蜘蛛有問題,就通過其標(biāo)識來和其所有者聯(lián)系。下面是博客中http://www.blogchina.com)2004年5月15日的搜索引擎訪問日志:  網(wǎng)絡(luò)蜘蛛進(jìn)入一個網(wǎng)站,一般會訪問一個特殊的文本文件Robots.txt,這個文件一般放在網(wǎng)站服務(wù)器的根目錄下,http://www.blogchina.com/robots.txt。網(wǎng)站管理員可以通過robots.txt來定義哪些目錄網(wǎng)絡(luò)蜘蛛不能訪問,或者哪些目錄對于某些特定的網(wǎng)絡(luò)蜘蛛不能訪問。例如有些網(wǎng)站的可執(zhí)行文件目錄和臨時文件目錄不希望被搜索引擎搜索到,那么網(wǎng)站管理員就可以把這些目錄定

8、義為拒絕訪問目錄。Robots.txt語法很簡單,例如如果對目錄沒有任何限制,可以用以下兩行來描述:  User-agent:*  Disallow:  當(dāng)然,Robots.txt只是一個協(xié)議

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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