接下來我將會用一段時間來更新python爬蟲python
網絡爬蟲大致能夠分爲三個步驟。網絡
首先創建請求,爬取所需元素;app
其次解析爬取信息,剔除無效數據;python爬蟲
最後將爬取信息進行保存;函數
今天就先來說講第一步,請求庫requests網站
request庫主要有七個經常使用函數,以下所示編碼
而經過requests建立的數據類型爲responsespa
咱們以爬取百度網站爲例code
import requests as r t=r.get("https://www.baidu.com/") print(type(t))
運行結果以下所示對象
<class 'requests.models.Response'>
[Finished in 1.3s]
那麼做爲請求對象,具備哪些屬性呢?
爬取數據第一步要作的事即是確認是否鏈接成功
status_code()從功能角度考慮,算的上是一種判斷函數,調用將會返還結果是否成功
若是返回結果爲200,則表明鏈接成功,若是返回結果爲404,則表明鏈接失敗
import requests as r t=r.get("https://www.baidu.com/") print(type(t)) print(t.status_code)
如圖所示返回結果爲200,鏈接成功
那麼下一步即是得到網址代碼,不過在得到代碼以前,還須要作一件事,獲得響應內容的編碼方式
不一樣的編碼方式將會影響爬取結果
好比說百度網址:https://www.baidu.com/
採用編碼方式爲ISO-8859-1
獲取編碼方式爲encoding
以下所示
import requests as r t=r.get("https://www.baidu.com/") print(type(t)) print(t.status_code) print(t.encoding)
結果:
<class 'requests.models.Response'>
200
ISO-8859-1
固然有的網頁採用 utf8,也有使用gbk,
不一樣的編碼方式會影響咱們得到的源碼
也能夠經過手動更改來改變得到的編碼方式
好比:
import requests as r t=r.get("https://www.baidu.com/") print(t.encoding) t.encoding="utf-8" print(t.encoding)
結果
也能夠試着備選碼方式,apparent_encoding
以後咱們就能夠得到源代碼了,咱們須要將源代碼以字符串類型輸出保存
這就須要用到text
以下所示:
import requests as r t=r.get("https://www.baidu.com/") print(t.text)
結果:
這樣咱們就得到了對應網站的源碼,完成了爬蟲的第一步