二、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...