爬蟲開發實踐之前端知識

1.前端知識


開發爬蟲需要了解一些前端知識和基本原理,分析網頁的構成元素,WEB前端的三要素:HTML + CSS + JavaScript,它們構成一MVC框架,即23個設計模式中的Model_View_Controller模式,HTML作爲信息模型(Model),CSS控制樣式(View),JavaScript負責調度數據和實現某種展現邏輯(Controller),很好的實現了業務邏輯和用戶界面的解耦。前端開發需要了解的知識很多,下面給出了前端工程師的技能表以及知識結構



技能表圖來源於flickr    


前端知識結構圖來自於拔赤的微博


2.需要的一些工具


2.1瀏覽器插件


當然,作爲非前端工程師並不要求這些技能,做爬蟲的時候我們需要分析網頁內容,抓取需要的有效信息,使用前端開發調試工具對網頁的 CSS、HTML 和 JavaScript 進行實時編輯、調試和監控,比如firefox瀏覽器的firebug插件(Firebug入門指南).




google的chrome瀏覽器自帶的開發者工具,可以在chrome的工具中找到,快捷方式: Ctrl+Shift+I 或者Ctrl+Shift+J直接打開控制檯,或者直接按F12, 如下



同樣,microsoft的IE瀏覽器自帶的開發工具,F12操作打開。

2.2web開發調試工具fiddler2 


Fiddler(Fiddler 教程)是最強大最好用的Web調試工具之一,它能記錄所有客戶端和服務器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據




3.HTTP協議的一些知識(HTTP協議詳解


由HTTP客戶端發起一個請求,創建一個到服務器指定端口(默認是80端口)的TCP連接。HTTP服務器則在那個端口監聽客戶端的請求。一旦收到請求,服務器會向客戶端返回一個狀態,比如上圖中的Response Headers中的"HTTP/1.1 200 OK",以及返回的內容,如請求的文件、錯誤消息、或者其它信息。如果你想知道,在你訪問瀏覽器的時候,都做了哪些事情參見從輸入網址到顯示頁面:瀏覽器工作原理拆解分析


3.1URL地址(統一資源定位符)


在本地機器上,我們可以通過絕對路徑來定位我們的各種文件及目錄,在internet上,可以講URL理解爲我們定位各種文件的路徑,描述服務器上的各種資源。
URL(統一資源定位符)將從因特網獲取信息的五個基本元素包括在一個簡單的地址中:
傳送協議:http,ftp,https
服務器:服務器的域名或者IP地址
端口號:以數字方式表示,若爲HTTP的默認值“:80”可省略
路徑:以“/”字符區別路徑中的每一個目錄名稱
查詢:發給服務器的數據,以“?”字符爲起點,每個參數以“&”隔開,再以“=”分開參數名稱與數據,通常以UTF8的URL編碼,避開字符衝突的問題
典型的統一資源定位符看上去是這樣的:
http://zh.wikipedia.org:80/w/index.php?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2&printable=yes
其中:
http,是協議;
zh.wikipedia.org,是服務器;
80,是服務器上的網絡端口號;
/w/index.php,是路徑;
?title=Special:%E9%9A%8F%E6%9C%BA%E9%A1%B5%E9%9D%A2&printable=yes。

3.2HTTP請求方法


HTTP/1.1協議中共定義了八種方法(GET,POST,PUT,DELETE,HEAD,TRACE,CONNECT,OPTIONS)來以不同方式操作指定的資源,前面四種是最常用的,HTTP服務器至少應該實現GET和HEAD方法,其他方法都是可選的: 

GET:使用GET方法應該只用在讀取數據
POST:向指定資源提交數據,請求服務器進行處理(例如提交表單或者上傳文件)。數據被包含在請求本文中。這個請求可能會創建新的資源或修改現有資源,或二者皆有。
PUT:向指定資源位置上傳其最新內容。
DELETE:請求服務器刪除Request-URI所標識的資源。

OPTIONS:這個方法可使服務器傳回該資源所支持的所有HTTP請求方法,可以測試服務器功能是否正常運作。
HEAD:與GET方法一樣,都是向服務器發出指定資源的請求。只不過服務器將不傳回資源的本文部份。它的好處在於,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中“關於該資源的信息”(元信息或稱元數據)。
TRACE:回顯服務器收到的請求,主要用於測試或診斷。
CONNECT:HTTP/1.1協議中預留給能夠將連接改爲管道方式的代理服務器。通常用於SSL加密服務器的鏈接。

3.3HTTP請求返回狀態


所有HTTP響應的第一行都是狀態行,依次是當前HTTP版本號,3位數字組成的狀態代碼,以及描述狀態的短語,彼此由空格分隔。
狀態代碼的第一個數字代表當前響應的類型:
1xx消息——請求已被服務器接收,繼續處理
2xx成功——請求已成功被服務器接收、理解、並接受
3xx重定向——需要後續操作才能完成這一請求
4xx請求錯誤——請求含有詞法錯誤或者無法被執行
5xx服務器錯誤——服務器在處理某個正確請求時發生錯誤

發佈了21 篇原創文章 · 獲贊 49 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章