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

1. 什麼是爬蟲

爬蟲就是請求網站並提取數據的自動化程序json

 

2. 爬蟲的基本流程

1)發送請求

經過HTTP庫向目標站點發送請求,即發送一個Request。瀏覽器

請求能夠包含額外的headers等信息,等待服務器相應服務器

2)獲取相應內容

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

返回的Response多是HTML、json、二進制數據(圖片視頻)等類型網站

3)解析內容

根據獲得的Response類型,選擇對應的方法進行解析url

4)保存數據

將咱們想要的數據提取出來進行保存。視頻

 

3. Request

1)請求方式

最多見的請求方式是GET和POST。除此以外還有其餘的方式,好比HEAD、PUT、DELETE、OPTIONS等圖片

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

GET和POST最大的區別在於:ip

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)PyV八、Ghost.py模擬加載JS

相關文章
相關標籤/搜索