Python爬蟲的開始——requests庫創建請求

接下來我將會用一段時間來更新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)

 

結果:

 

 這樣咱們就得到了對應網站的源碼,完成了爬蟲的第一步

相關文章
相關標籤/搜索