更新時(shí)間:2016年09月29日16時(shí)09分 來源:傳智播客 瀏覽次數(shù):
1、網(wǎng)絡(luò)爬蟲的定義
網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人),是一種按照一定的規(guī)則,自動(dòng)的抓取萬(wàn)維網(wǎng)信息的程序或者腳本,是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個(gè)或若干初始網(wǎng)頁(yè)的URL開始,獲得初始網(wǎng)頁(yè)上的URL,在抓取網(wǎng)頁(yè)的過程中,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件。
2、網(wǎng)絡(luò)爬蟲與瀏覽器相似之處
網(wǎng)絡(luò)爬蟲的抓取過程可以理解為 模擬瀏覽器操作的過程。
瀏覽器的主要功能就是向服務(wù)器發(fā)出請(qǐng)求,在瀏覽器窗口中展示您選擇的網(wǎng)絡(luò)資源。這里所說的資源一般是指 HTML 文檔,也可以是 PDF、圖片或其他的類型。
資源的位置由用戶使用 URI(統(tǒng)一資源標(biāo)示符)指定。
瀏覽器解釋并顯示HTML文件的方式是在HTML和CSS規(guī)范中指定的。這些規(guī)范由網(wǎng)絡(luò)標(biāo)準(zhǔn)化組織 W3C(萬(wàn)維網(wǎng)聯(lián)盟)進(jìn)行維護(hù)。
3、網(wǎng)絡(luò)爬蟲抓什么
一般來講,抓取的內(nèi)容主要來源于網(wǎng)頁(yè),目前,隨著這幾年移動(dòng)互聯(lián)網(wǎng)的發(fā)展,越來越多信息來源于移動(dòng)互聯(lián)網(wǎng)App、H5等,所以爬蟲就不止局限于一定要抓取解析網(wǎng)頁(yè),還有移動(dòng)互聯(lián)網(wǎng)app、H5等的網(wǎng)絡(luò)請(qǐng)求進(jìn)行抓取
對(duì)網(wǎng)絡(luò)爬蟲而言,需要抓取的是某個(gè)網(wǎng)站或者某個(gè)應(yīng)用的內(nèi)容,提取有用的價(jià)值。
4、了解網(wǎng)絡(luò)請(qǐng)求
網(wǎng)絡(luò)爬蟲以HTTP、HTTPS請(qǐng)求為主,讀取網(wǎng)頁(yè)內(nèi)容,提取有用的價(jià)值,內(nèi)容一般分為兩部分,非結(jié)構(gòu)化的文本,或結(jié)構(gòu)化的文本。
超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的WWW文件都必須遵守這個(gè)標(biāo)準(zhǔn)。設(shè)計(jì)HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁(yè)面的方法。
4.1 HTTP請(qǐng)求的方法
HTTP/1.1協(xié)議中共定義了八種方法(有時(shí)也叫“動(dòng)作”)來表明Request-URI指定的資源的不同操作方式:
OPTIONS
返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法。也可以利用向Web服務(wù)器發(fā)送'*'的請(qǐng)求來測(cè)試服務(wù)器的功能性。
HEAD
向服務(wù)器索要與GET請(qǐng)求相一致的響應(yīng),只不過響應(yīng)體將不會(huì)被返回。這一方法可以在不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下,就可以獲取包含在響應(yīng)消息頭中的元信息。
GET
向特定的資源發(fā)出請(qǐng)求。注意:GET方法不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中,例如在Web Application中。其中一個(gè)原因是GET可能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪問。
POST
向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。
PUT
向指定資源位置上傳其最新內(nèi)容。
DELETE
請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源。
TRACE
回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。
CONNECT
HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
4.2 HTTP響應(yīng)的代碼
服務(wù)器程序響應(yīng)的第一行叫狀態(tài)行。狀態(tài)行以HTTP版本號(hào)開始,后面跟著3位數(shù)字表示響應(yīng)代碼,最后是易讀的響應(yīng)短語(yǔ)。根據(jù)第一位可以把響應(yīng)分成5類:
圖1、HTTP響應(yīng)代碼
4.3實(shí)例演示
我們用瀏覽器去訪問https://www.baidu.com, 在瀏覽器中打開開發(fā)人員工具(F12),F(xiàn)12 開發(fā)人員工具是可幫助生成和調(diào)試網(wǎng)頁(yè)的一套工具。按下F12按鈕調(diào)出開發(fā)者工具界面,點(diǎn)擊第一行“Network”選項(xiàng)卡,可見下方以詳細(xì)信息的方式列舉出了網(wǎng)頁(yè)中的元素。
找到我們請(qǐng)求的鏈接https://www.baidu.com,響應(yīng)消息的狀態(tài)行是:HTTP/1.1 200 OK,其中HTTP/1.1對(duì)應(yīng)版本號(hào)、200對(duì)應(yīng)response-code;如下圖2所示
圖2、GET / HTTP/1.1請(qǐng)求的響應(yīng)消息
北京校區(qū)