1. 程式人生 > >python爬蟲入門一:爬蟲基本原理

python爬蟲入門一:爬蟲基本原理

1. 什麼是爬蟲

爬蟲就是請求網站並提取資料的自動化程式

 

2. 爬蟲的基本流程

1)傳送請求

通過HTTP庫向目標站點發送請求,即傳送一個Request。

請求可以包含額外的headers等資訊,等待伺服器相應

2)獲取相應內容

伺服器接到請求後,會返回一個Response,Response的內容就是所要獲取的頁面內容。

返回的Response可能是HTML、json、二進位制資料(圖片視訊)等型別

3)解析內容

根據得到的Response型別,選擇對應的方法進行解析

4)儲存資料

將我們想要的資料提取出來進行儲存。

 

3. Request

1)請求方式

最常見的請求方式是GET和POST。除此之外還有其他的方式,比如HEAD、PUT、DELETE、OPTIONS等

  • GET - 從指定的資源請求資料。
  • POST - 向指定的資源提交要被處理的資料

GET和POST最大的區別在於:

a. GET將所以請求的引數都放在url裡;POST將所以請求的引數放在表單裡

b. GET請求可以直接通過url訪問;POST請求需要構建表單才能訪問

2)請求的url

url全稱統一資源定位符。通過url獲得網頁/文件/圖片等

3)請求頭

請求頭是請求時的頭部資訊。如User-Agent、Host、Cookies等資訊。

網頁在進行反爬蟲時,請求頭是一個非常重要的判定元素

4)請求體

一般來說,在使用POST請求時,需要傳入相應的請求體來獲得Response

 

4. Response

1)狀態碼status

2XX:成功訪問

3XX:重定向

4XX:請求錯誤

5XX:伺服器錯誤

2)相應頭 Response Headers

如內容型別、內容長度、伺服器資訊等

3)響應體

最主要的部分,包含了請求資源的內容,如網頁HTML、圖片二進位制資料等

 

5. 處理JavaScript渲染問題

1)AjAX非同步載入分析

2)Selenium/WebDriver 模擬瀏覽器操作

3)Splash模擬JS

4)PyV8、Ghost.py模擬載入JS