高清免费视频|成都冻货格|我可以再往深处一点吗视频|舌头伸进去添的我好爽高潮欧美|性都花花世家|无人区卡一卡二卡三乱码网站|草莓看视频在线观看免费

互聯(lián)網(wǎng)爬蟲的工作原理
發(fā)布時間:2016-04-22

爬蟲定義、組成、類型

1.1?爬蟲定義
爬蟲是一個抓取網(wǎng)頁的計算機程序,它在互聯(lián)網(wǎng)中漫游,發(fā)現(xiàn)和搜集信息。日夜不停地運行,盡可能多、盡可能快地搜集各種類型的新信息,同時因為互聯(lián)網(wǎng)上的信息更新很快,所以還要定期更新已經(jīng)搜集過的舊信息,以避免死連接和無效連接。

1.2?第一個爬蟲
RBSE?Eichmann1994)是第一個發(fā)布的爬蟲。它有兩個基礎(chǔ)程序。第一個是“spider”,抓取隊列中的內(nèi)容到一個關(guān)系數(shù)據(jù)庫中,第二個程序是“mite”,是一個修改后的wwwASCII瀏覽器,負責從網(wǎng)絡(luò)上下載頁面。?
1.3?日常生活接觸
Baiduspider,?Googlebot

1.4?爬蟲組成

網(wǎng)絡(luò)爬蟲主要由控制器,解析器,資源庫組成。
中央控制器:根據(jù)系統(tǒng)傳過來的URL鏈接,分配一線程,啟動線程調(diào)用爬蟲爬取網(wǎng)頁。
解析器:是爬蟲的主要部分,負責下載網(wǎng)頁,對網(wǎng)頁的文本進行處理,如過濾功能,抽取特殊HTML標簽的功能,分析數(shù)據(jù)功能。
資源庫:主要是用來存儲網(wǎng)頁中下載下來的數(shù)據(jù)記錄的容器,并提供生成索引的目標源。中大型的數(shù)據(jù)庫產(chǎn)品有:OracleSql?Server等。

 

1.5?爬蟲類型

一般分傳統(tǒng)爬蟲和聚集爬蟲。
1)傳統(tǒng)爬蟲,從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,抓取之后,通過源碼解析來獲得想要的內(nèi)容。
2)聚焦爬蟲:根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,重復上述過程,直到達到系統(tǒng)的某一條件時停止所有被爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存貯。

 

抓取對象

抓取對象:靜態(tài)網(wǎng)頁、文件對象、動態(tài)網(wǎng)頁、特殊內(nèi)容。

特殊內(nèi)容:比如RSSXML數(shù)據(jù),情況特殊需特殊處理。如新聞的滾動新聞頁面,需要爬蟲不停地監(jiān)控掃描,發(fā)現(xiàn)新內(nèi)容馬上就進行抓取。

 

爬蟲成本

使用爬蟲的代價包括:

1)網(wǎng)絡(luò)資源:在很長一段時間,爬蟲使用相當?shù)膸捀叨炔⑿械毓ぷ鳌?/span>
2)服務(wù)器超載:尤其是對給定服務(wù)器的訪問過高時。
3)邏輯糟糕的爬蟲,可能導致服務(wù)器或者路由器癱瘓,或者會嘗試下載自己無法處理的頁面。?
個人爬蟲,如果過多的人使用,可能導致網(wǎng)絡(luò)或者服務(wù)器阻塞。

 

樂思網(wǎng)絡(luò)信息采集系統(tǒng)比網(wǎng)絡(luò)爬蟲的功能更加強大,它能夠采集新聞、論壇、微博、微信等媒介上的信息,可以這樣說,只要是互聯(lián)網(wǎng)上公開可見的信息,我們的系統(tǒng)都可以采集。樂思采集軟件系的主要功能是批量而精確地將互聯(lián)網(wǎng)目標網(wǎng)頁中的半結(jié)構(gòu)化數(shù)據(jù)抽取為結(jié)構(gòu)化的記錄,保存在本地數(shù)據(jù)庫中,以便進一步分析使用。

 

爬蟲質(zhì)量

新鮮度和過時性
爬蟲的目標是盡可能高的提高頁面的新鮮度
同時降低頁面的過時性

 

爬蟲策略及優(yōu)化

5.1?一般抓取方法:

1)從一個起始URL集合開始,以一定的規(guī)則循環(huán)在互聯(lián)網(wǎng)中發(fā)現(xiàn)信息。這些起始URL可以是任意的URL,但常常是一些非常流行、包含很多鏈接的站點(如Yahoo!)
2)劃分:將Web空間按照域名、IP地址或國家域名劃分,每個搜索器負責一個子空間的窮盡搜索。

 

5.2?抓取策略

網(wǎng)頁的抓取策略可以分為深度優(yōu)先、廣度優(yōu)先和最佳優(yōu)先三種。
深度優(yōu)先在很多情況下會導致爬蟲的陷入(trapped)問題。
目前常見的是廣度優(yōu)先和最佳優(yōu)先方法。

 

5.3?策略選擇

1)選擇策略,決定所要下載的頁面;
重新訪問策略,決定什么時候檢查頁面的更新變化;
②?平衡禮貌策略,指出怎樣避免站點超載;
并行策略,指出怎么協(xié)同達到分布式抓取的效果;
2)提示:為了獲取更好的抓取策略,更多有關(guān)網(wǎng)頁質(zhì)量的信息應該考慮進去。

 

 

5.4?注意事項

爬蟲開發(fā)的主要問題是性能和反封鎖。
很多時候,采用高并發(fā)高頻率抓取數(shù)據(jù)是可行的,前提是目標站點沒有采用任何反爬措施(訪問頻率限制、防火墻、驗證碼……)。
更多時候,有價值的信息,一定伴隨著嚴格的反爬措施,一旦ip被封,什么組件都沒戲了。?

 

爬蟲協(xié)議(狀態(tài)碼)

Robots協(xié)議

Robots協(xié)議(也稱為爬蟲協(xié)議、機器人協(xié)議等),
全稱是網(wǎng)絡(luò)爬蟲排除標準Robots?Exclusion?Protocol),
網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,
哪些頁面不能抓取。

 

.htaccess文件是Apache服務(wù)器中的一個配置文件,它負責相關(guān)目錄下的網(wǎng)頁配置。
通過htaccess文件,可以幫我們實現(xiàn):網(wǎng)頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。

 

HTTP狀態(tài)碼通常分為5種類型,分別以15五個數(shù)字開頭,由3位整數(shù)組成:

200:請求成功??????處理方式:獲得響應的內(nèi)容,進行處理?

201:請求完成,結(jié)果是創(chuàng)建了新資源。新創(chuàng)建資源的URI可在響應的實體中得到????處理方式:爬蟲中不會遇到?

202:請求被接受,但處理尚未完成????處理方式:阻塞等待?

204:服務(wù)器端已經(jīng)實現(xiàn)了請求,但是沒有返回新的信?息。如果客戶是用戶代理,則無須為此更新自身的文檔視圖。????處理方式:丟棄

300:該狀態(tài)碼不被HTTP/1.0的應用程序直接使用,?只是作為3XX類型回應的默認解釋。存在多個可用的被請求資源。????處理方式:若程序中能夠處理,則進行進一步處理,如果程序中不能處理,則丟棄301:請求到的資源都會分配一個永久的URL,這樣就可以在將來通過該URL來訪問此資源????處理方式:重定向到分配的URL302:請求到的資源在一個不同的URL處臨時保存?????處理方式:重定向到臨時的URL?

304?請求的資源未更新?????處理方式:丟棄?

400?非法請求?????處理方式:丟棄?

401?未授權(quán)?????處理方式:丟棄?

403?禁止?????處理方式:丟棄?

404?沒有找到?????處理方式:丟棄

5XX?回應代碼以“5”開頭的狀態(tài)碼表示服務(wù)器端發(fā)現(xiàn)自己出現(xiàn)錯誤,不能繼續(xù)執(zhí)行請求????處理方式:丟棄

 

分類: 大數(shù)據(jù)應用 標簽: