python 爬蟲請求模組requests詳解

2022-10-04 13:24:36 字數 2876 閱讀 8227

相比urllib,第三方庫requests更加簡單人性化,是爬蟲工作中常用的庫

初級爬蟲的開始主要是使用requests模組

安裝requests模組:

windows系統:

cmd中:

pip install requests

mac系統中:

終端中:

pip3 install requests

import requests

url = ''

reponse = requests.get(url)

#返回unicode格式的資料(str)

print(reponse.text)

response.text 返回unicode格式的資料(str)

response.content 返回位元組流資料(⼆進製)

response.conten') ⼿動進⾏解碼

response.url 返回url

response.encode() = 『編碼'

response.status_code: 檢查響應的狀態碼

例如:200 : 請求成功

301 : 永久重定向

302 : 臨時重定向

403 : 伺服器拒絕請求

404 : 請求失敗(伺服器⽆法根據客戶端的請求找到資源(⽹⻚))

500 : 伺服器內部請求

# 匯入requests

import requests

# 呼叫requests中的get()方法來向伺服器傳送請求,括號內的url引數就是我們

# 需要訪問的**,然後將獲取到的響應通過變數response儲存起來

url = '' # csdn官網鏈結鏈結

response = requests.get(url)

print(response.status_code) # response.status_code: 檢查響應的狀態碼

requests的幾種請求方式:

p = requests.get(url)

p = requests.post(url)

p = requests.put(url,data=)

p = requests.delete(url)

p = requests.head(url)

p = requests.options(url)

http預設的請求方法就是get

* 沒有請求體

* 資料必須在1k之內!

* get請求資料會暴露在瀏覽器的位址列中

get請求常用的操作:

1. 在瀏覽器的位址列中直接給出url,那麼就一定是get請求

2. 點選頁面上的超連結也一定是get請求

3. 提交表單時,表單預設使用get請求,但可以設定為post

(1). 資料不會出現在位址列中

(2). 資料的大小沒有上限

(3). 有請求體

(4). 請求體中如果存在中文,會使用url編碼!

requests.post()用法與requests.get()完全一致,特殊的是requests.post()有乙個data引數,用來存放請求體資料

當我們開啟乙個網頁時,瀏覽器要向**伺服器傳送乙個http請求頭,然後**伺服器根據http請求頭的內容生成當此請求的內容傳送給伺服器。

我們可以手動設定請求頭的內容:

import requests

header =

url = ''

reponse = requests.get(url,headers=header)

#列印文字形式

print(reponse.text)

使⽤requests新增**只需要在請求⽅法中(get/post)傳遞proxies引數就可以了

cookie :通過在客戶端記錄的資訊確定⽤戶身份

http是⼀種⽆連線協議,客戶端和伺服器互動僅僅限於 請求/響應過程,結束後 斷開,下⼀次請求時,伺服器會認為是⼀個新的客戶端,為了維護他們之間的連線, 讓伺服器知道這是前⼀個⽤戶發起的請求,必須在⼀個地⽅儲存客戶端資訊。

requests操作cookies很簡單,只需要指定cookies引數即可

import requests

#這段cookies是從csdn官網控制台中複製的

header =

url = ''

reponse = requests.get(url,headers=header)

#列印文字形式

print(reponse.text)

session :通過在服務端記錄的資訊確定⽤戶身份

這⾥這個session就是⼀個指 的是會話

會話物件是一種高階的用法,可以跨請求保持某些引數,比如在同乙個session例項之間儲存cookie,像瀏覽器一樣,我們並不需要每次請求cookie,session會自動在後續的請求中新增獲取的cookie,這種處理方式在同一站點連續請求中特別方便

什麼是ssl證書?

ssl證書是數字證書的⼀種,類似於駕駛證、護照和營業執照的電⼦副本。

因為配置在伺服器上,也稱為ssl伺服器證書。ssl 證書就是遵守 ssl協 議,由受信任的數字證書頒發機構ca,在驗證伺服器身份後頒發,具有服務 器身份驗證和資料傳輸加密功能

我們來爬乙個證書不太合格的**

import requests

url = ''

resp = requests.get(url)

print(resp.text)

它報了乙個錯

我們來修改一下**

import requests

url = ''

resp = requests.get(url,verify = false)

print(resp.text)

我們的**又能成功爬取了

Python爬蟲02 請求模組

七 json資料 response.text 返回unicode格式的資料 str response.content 返回位元組流資料 二進位制 response.content.decode utf 8 手動進行解碼 response.url 返回url response.encode 編碼 im...

爬蟲請求模組

1 版本 python2 urllib urllib2 python3 把urllib 和 urllib2合併,urllib.request 2 常用方法 2.1.1位元組流 response.read 字串 response.read decode utf 8 31 encode 字串 bytes...

爬蟲請求模組

2.urllib.parse 3.請求方式 4.request模組 5.requests原始碼分析 位元組流 response.read 字串 response.read decode utf 8 urllib.request.request headers 字典 import urllib.req...