Python爬蟲精簡步驟1 獲取資料

鰓鰓鰓鰓發表於2020-02-17

爬蟲的工作分為四步:
1.獲取資料。爬蟲程式會根據我們提供的網址,向伺服器發起請求,然後返回資料。
2.解析資料。爬蟲程式會把伺服器返回的資料解析成我們能讀懂的格式。
3.提取資料。爬蟲程式再從中提取出我們需要的資料。
4.儲存資料。爬蟲程式把這些有用的資料儲存起來,便於你日後的使用和分析。

這一篇的內容就是:獲取資料。

首先,我們將會利用一個強大的庫——requests來獲取資料。

在電腦上安裝的方法是:Mac電腦裡開啟終端軟體(terminal),輸入pip3 install requests,然後點選enter即可;Windows電腦裡叫命令提示符(cmd),輸入pip install requests 即可。
出現成功字樣
(requests庫可以幫我們下載網頁原始碼、文字、圖片,甚至是音訊。“下載”本質上是向伺服器傳送請求並得到響應。

Pip是一個Python的包管理工具。)

先來看**requests.get()**方法
requests.get()的具體用法如下:

import requests
#引入requests庫
res = requests.get('URL')
#requests.get是在呼叫requests庫中的get()方法,它向伺服器傳送了一個請求,括號裡的引數是你需要的資料所在的網址,然後伺服器對請求作出了響應。
#我們把這個響應返回的結果賦值在變數res上。
print(type(res))
#列印變數res的資料型別

Response物件常用的四個屬性:
1. res.status_code
檢查請求是否成功

print(res.status_code)
#列印變數res的響應狀態碼,以檢查請求是否成功
響應狀態碼 說明 舉例 說明
1xx 請求收到 100 繼續提出請求
2xx 請求成功 200 成功
3xx 重定向 305 應使用代理訪問
4xx 客戶端錯誤 403 禁止訪問
5xx 伺服器端錯誤 503 服務不可用

2.res.content
能把Response物件的內容以二進位制資料的形式返回,適用於圖片、音訊、視訊的下載

3.res.text
可以把Response物件的內容以字串的形式返回,適用於文字、網頁原始碼的下載

4.res.encoding
能幫我們定義Response物件的編碼
(遇上文字的亂碼問題,才考慮用res.encoding)

小結:
獲取資料,本質就是通過URL去向伺服器發出請求,伺服器再把相關內容封裝成一個Response物件返回給我們,這是通過requests.get()實現的,而獲取到的Response物件下有四個以上常用的屬性。

爬蟲協議:
Robots協議是網際網路爬蟲的一項公認的道德規範,它的全稱是“網路爬蟲排除標準”(Robots exclusion protocol),這個協議用來告訴爬蟲,哪些頁面是可以抓取的,哪些不可以。
如何檢視網站的robots協議呢?在網站的域名後加上/robots.txt就可以了。

相關文章