python爬蟲入門一:爬蟲基本原理
阿新 • • 發佈:2018-12-20
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