爬蟲基本流程 發起請求 通過HTTP庫向目標伺服器發送Request,Request內可以包含額外的headers信息。 獲取響應內容 如果伺服器正常響應,會返回Response, 裡面包含的就是該頁面的內容。 解析數據 內容或許是HTML,可以用正則表達式、網頁解析庫進行解析。 或許是Json,可 ...
爬蟲基本流程
-
發起請求
通過HTTP庫向目標伺服器發送Request,Request內可以包含額外的headers信息。
-
獲取響應內容
如果伺服器正常響應,會返回Response, 裡面包含的就是該頁面的內容。
-
解析數據
內容或許是HTML,可以用正則表達式、網頁解析庫進行解析。
或許是Json,可以直接轉換為Json對象解析。
-
保存數據
可以存儲為文本,也可以保存至資料庫,或其他特定類型文件。
Response中包含的內容
-
響應狀態
Status Code:200
即狀態碼,一般200表示響應成功。
-
響應頭
Response Headers
內容類型,內容長度,伺服器信息,設置Cookie等。
-
響應體
請求資源的內容,如網頁源代碼,二進位數據等。
一般做網頁請求的時候,可以先判斷狀態碼是否是200,再取出響應體進行解析。
解析方式
-
直接處理
-
Json解析
-
正則表達式
-
BeautifulSoup
-
PyQuery
-
XPath
視情況選擇合適的解析方式。
保存數據
-
文本保存
純文本、Json、Xml等。
-
關係型資料庫保存
MySQL、Oracle、SQLServer等。
-
非關係型資料庫保存
MongoDB、Redis等Key-Value形式存儲。
-
二進位文件
圖片、視頻、音頻等特定文件。
Urllib庫
Python內置的HTTP請求庫
模塊 | 說明 |
---|---|
urllib.request | 請求模塊 |
urllib.error | 異常處理模塊 |
urllib.parse | url解析模塊 |
urllib.robotparser | robots.txt解析模塊 |
歡迎大家關註我的博客:https://home.cnblogs.com/u/Python1234/
歡迎加入千人交流學習群:125240963