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