爬蟲入門 requests庫初步理解

2021-10-08 06:26:41 字數 3088 閱讀 9764

二、requests庫基本使用

3、cookie:

4、session:

5、處理不信任的ssl證書:

**方法一:安裝python第三方庫的時候安裝不上。並且出現提示說 you should considerupgrading via the 『python -m pip install --upgrade pip』 command.

注:安裝檢驗是否成功最簡單為輸入「import requests」時無報錯出現

**:

# 匯入requests第三方庫

import requests

response = requests.get("")

# 輸出獲取到的html原始碼

print(type(response.content))

print(response.content)

執行結果如下:

# 匯入requests第三方庫

import requests

response = requests.get("")

# 輸出獲取到的html原始碼

print(response.text)

執行結果如下:

:response.text和response.content的區別:

1.response.content:這個是直接從網路上面抓取的資料。沒有經過任何解碼。所以是乙個bytes型別。其實是在硬碟上和在網路上傳輸的字串都是bytes型別。

2.response.text:這個是str的資料型別,是requests庫將response.content進行解碼字串,解碼需要指定乙個編碼方式,requests會根據自己的猜測來判斷編碼的方式。所以有時候可能會猜測錯誤,就會導致編碼亂碼。這時候就應使用response.content,decode(『utf-8』)進行手動解碼。

最簡單的傳送get請求就是通過requests.get來呼叫:

response = requests.get("")
新增headers和查詢引數:

如果想新增 headers,可以傳入headers引數來增加請求頭中的headers資訊。如果要將引數放在url中傳遞,可以利用 params 引數。相關示例**如下:

import requests

kw =

# params 接收乙個字典或者字串的查詢引數,字典型別自動轉換為url編碼,不需要urlencode()

response = requests.get("s", params = kw, headers = headers)

# 檢視響應內容,response.text 返回的是unicode格式的資料

print(response.text)

# 檢視響應內容,response.content返回的位元組流資料

print(response.content)

# 檢視完整url位址

print(response.url)

# 檢視響應頭部字元編碼

print(response.encoding)

# 檢視響應碼

print(response.status_code)

;

最基本的post請求可以使用post方法:

response = requests.post("",data=data)
傳入data資料:

這時候就不要再使用urlencode進行編碼了,直接傳入乙個字典進去就可以了。比如請求拉勾網的資料的**:

import requests

url = ""

data =

headers =

# 登入

session = requests.session()

session.post(url,data=data,headers=headers)

# 訪問大鵬個人中心

resp = session.get('')

print(resp.text)

如果在乙個響應中包含了cookie,那麼可以利用cookies屬性拿到這個返回的cookie值:

import requests

url = ""

data =

resp = requests.get('')

print(resp.cookies)

print(resp.cookies.get_dict())

之前使用urllib庫,是可以使用opener傳送多個請求,多個請求之間是可以共享cookie的。那麼如果使用requests,也要達到共享cookie的目的,那麼可以使用requests庫給我們提供的session物件。注意,這裡的session不是web開發中的那個session,這個地方只是乙個會話的物件而已。還是以登入人人網為例,使用requests來實現。示例**如下:

import requests

url = ""

data =

headers =

# 登入

session = requests.session()

session.post(url,data=data,headers=headers)

# 訪問大鵬個人中心

resp = session.get('')

print(resp.text)

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

print(resp.content.decode('utf-8'))

爬蟲入門 Requests庫

首先用管理員許可權開啟cmd命令列,然後直接輸入 pip install requests,即可安裝成功 需要聯網 方法 作用requests.request 構造乙個請求,它是支撐以下方法的基礎方法 requests.get 獲取html網頁的主要方法,請求獲取url位置的資源 requests....

Python 爬蟲 Requests庫入門

headers 字典,http定製頭 hd r requests.request post headers hd timeout 設定超時時間,秒為單位 r requests.request get timeout 10 proxies 字典型別,設定訪問 伺服器,可以增加登入認證 pxs r re...

爬蟲基礎之Requests庫入門

import requests r requests.get r.status code r.encoding utf 8 r.text方法 說明requests.request 構造乙個請求,支援以下各方法的基礎方法 requests.get 獲取html網頁的主要方法,對應http的get re...