教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

零基礎(chǔ)學(xué)習(xí)網(wǎng)絡(luò)爬蟲(chóng)知識(shí)(一)

更新時(shí)間:2016年09月29日16時(shí)09分 來(lái)源:傳智播客 瀏覽次數(shù):

1、網(wǎng)絡(luò)爬蟲(chóng)的定義


網(wǎng)絡(luò)爬蟲(chóng)(又被稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人),是一種按照一定的規(guī)則,自動(dòng)的抓取萬(wàn)維網(wǎng)信息的程序或者腳本,是搜索引擎的重要組成。傳統(tǒng)爬蟲(chóng)從一個(gè)或若干初始網(wǎng)頁(yè)的URL開(kāi)始,獲得初始網(wǎng)頁(yè)上的URL,在抓取網(wǎng)頁(yè)的過(guò)程中,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件。


2、網(wǎng)絡(luò)爬蟲(chóng)與瀏覽器相似之處


網(wǎng)絡(luò)爬蟲(chóng)的抓取過(guò)程可以理解為 模擬瀏覽器操作的過(guò)程。


瀏覽器的主要功能就是向服務(wù)器發(fā)出請(qǐng)求,在瀏覽器窗口中展示您選擇的網(wǎng)絡(luò)資源。這里所說(shuō)的資源一般是指 HTML 文檔,也可以是 PDF、圖片或其他的類(lèi)型。


資源的位置由用戶使用 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ò)爬蟲(chóng)抓什么


一般來(lái)講,抓取的內(nèi)容主要來(lái)源于網(wǎng)頁(yè),目前,隨著這幾年移動(dòng)互聯(lián)網(wǎng)的發(fā)展,越來(lái)越多信息來(lái)源于移動(dòng)互聯(lián)網(wǎng)App、H5等,所以爬蟲(chóng)就不止局限于一定要抓取解析網(wǎng)頁(yè),還有移動(dòng)互聯(lián)網(wǎng)app、H5等的網(wǎng)絡(luò)請(qǐng)求進(jìn)行抓取


對(duì)網(wǎng)絡(luò)爬蟲(chóng)而言,需要抓取的是某個(gè)網(wǎng)站或者某個(gè)應(yīng)用的內(nèi)容,提取有用的價(jià)值。


4、了解網(wǎng)絡(luò)請(qǐng)求


網(wǎng)絡(luò)爬蟲(chóng)以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)作”)來(lái)表明Request-URI指定的資源的不同操作方式:


OPTIONS


返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法。也可以利用向Web服務(wù)器發(fā)送'*'的請(qǐng)求來(lái)測(cè)試服務(wù)器的功能性。


HEAD


向服務(wù)器索要與GET請(qǐng)求相一致的響應(yīng),只不過(guò)響應(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ò)蜘蛛等隨意訪問(wèn)。


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)開(kāi)始,后面跟著3位數(shù)字表示響應(yīng)代碼,最后是易讀的響應(yīng)短語(yǔ)。根據(jù)第一位可以把響應(yīng)分成5類(lèi):



圖1、HTTP響應(yīng)代碼


4.3實(shí)例演示


我們用瀏覽器去訪問(wèn)https://www.baidu.com, 在瀏覽器中打開(kāi)開(kāi)發(fā)人員工具(F12),F(xiàn)12 開(kāi)發(fā)人員工具是可幫助生成和調(diào)試網(wǎng)頁(yè)的一套工具。按下F12按鈕調(diào)出開(kāi)發(fā)者工具界面,點(diǎn)擊第一行“Network”選項(xiàng)卡,可見(jiàn)下方以詳細(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)消息


0 分享到:
和我們?cè)诰€交談!