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

接下來我將會用一段時間來更新python爬蟲html

網絡爬蟲大致能夠分爲三個步驟。python

首先創建請求,爬取所需元素;網絡

其次解析爬取信息,剔除無效數據;app

最後將爬取信息進行保存;python爬蟲

今天就先來說講第一步,請求庫requests函數

request庫主要有七個經常使用函數,以下所示網站

 

 

而經過requests建立的數據類型爲response編碼

咱們以爬取百度網站爲例spa

import requests as r t=r.get("https://www.baidu.com/") print(type(t))

 

 運行結果以下所示code

<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)

 

結果:

 

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

 

 

 

 

 

 

 

 

 

原文出處:https://www.cnblogs.com/lyy135146/p/11921713.html

相關文章
相關標籤/搜索