python3 requests模組 寫了一點

2022-05-07 09:18:09 字數 1727 閱讀 7642

使用requests,它的七個主要方法,在這裡只講兩個:get、post

>>>importrequests

>>> r=requests.get("")

>>> r.status_code 200

>>> r.encoding'iso-8859-1'

'utf-8'

>>> r.text  # 發現編碼不行,改編碼

>>> r.encoding='utf-8'

注意requests庫有時會產生異常,比如網路連線錯誤、http錯誤異常、重定向異常、請求url超時異常等等。所以我們需要判斷r.status_codes是否是200。

我們可以利用r.raise_for_status()語句去捕捉異常,該語句在方法內部判斷r.status_code是否等於200,如果不等於,則丟擲異常。

乙個爬取網頁的通用**框架:

try:

r=requests.get(url,timeout=30)#請求超時時間為30秒

r.raise_for_status()#如果狀態不是200,則引發異常

#配置編碼

returnr.text

except:

return"產生異常"

params =

r = requests.post('',data=params)

在伺服器端用request.post.get("data")什麼也獲取不到,用request.body獲取到的是b'k2=v2&k1=v1'

但這樣的格式怎麼也轉不成字典,

r = requests.post('',json=params)

用request.body獲取到b'',其實我想說的是:

在客戶端產生了乙個字典,由於需要加密,所以成了這樣的資料:b'qwrasdfsdfsfa',怎麼發呢?

直接發就行:

a = b'qwrasdfsdfsfa'

r = requests.post('',data=a)

然後在伺服器端用request.body()獲取資料然後解密就行。

python3-requests詳解:

Python3 requests模擬登入天善智慧型

usr bin env python coding utf 8 author chris iven python version 3.6 分析 行為 login url data token token 是在login url 裡面的乙個 登入必須帶的引數 單獨獲取不行 username passw...

python3學習 requests使用

import requests r requests.get params r requests.get params params print r.url k1 1 k2 v2 post請求 r requests.post data import requests import json para...

python3學習 requests使用

前面我們講過了urllib模組,知道他是用於網路請求的,這一節講的requests還是用於網路請求的,只不過urllib是官方模組,而requests是第三方的模組。用過的人都說他才是 人類使用的 哈哈,我也沒覺得urllib有多麼尿性啊!下面我們試著回歸人類的生活吧。這是第三方的模組,所以需要手動...