日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Pythonrequests模塊

Python requests 模塊

Python requests 是一個常用的 HTTP 請求庫,可以方便地向網(wǎng)站發(fā)送 HTTP 請求,并獲取響應結(jié)果。

網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了寒亭免費建站歡迎大家使用!

requests 模塊比 模塊更簡潔。

使用 requests 發(fā)送 HTTP 請求需要先導入 requests 模塊:

import requests

導入后就可以發(fā)送 HTTP 請求,使用 requests 提供的方法向指定 URL 發(fā)送 HTTP 請求,例如:

實例

# 導入 requests 包


import requests

# 發(fā)送請求

x
= requests.
get
(
'https://www.runoob.com/'
)

# 返回網(wǎng)頁內(nèi)容


print
(x.
text
)

每次調(diào)用 requests 請求之后,會返回一個 response 對象,該對象包含了具體的響應信息,如狀態(tài)碼、響應頭、響應內(nèi)容等:

print(response.status_code)  # 獲取響應狀態(tài)碼
print(response.headers)  # 獲取響應頭
print(response.content)  # 獲取響應內(nèi)容

更多響應信息如下:

屬性或方法 說明
apparent_encoding編碼方式
close()關(guān)閉與服務器的連接
content返回響應的內(nèi)容,以字節(jié)為單位
cookies返回一個 CookieJar 對象,包含了從服務器發(fā)回的 cookie
elapsed返回一個 timedelta 對象,包含了從發(fā)送請求到響應到達之間經(jīng)過的時間量,可以用于測試響應速度。比如 r.elapsed.microseconds 表示響應到達需要多少微秒。
encoding解碼 r.text 的編碼方式
headers返回響應頭,字典格式
history返回包含請求歷史的響應對象列表(url)
is_permanent_redirect如果響應是永久重定向的 url,則返回 True,否則返回 False
is_redirect如果響應被重定向,則返回 True,否則返回 False
iter_content()迭代響應
iter_lines()迭代響應的行
json()返回結(jié)果的 JSON 對象 (結(jié)果需要以 JSON 格式編寫的,否則會引發(fā)錯誤)
links返回響應的解析頭鏈接
next返回重定向鏈中下一個請求的 PreparedRequest 對象
ok檢查 "status_code" 的值,如果小于400,則返回 True,如果不小于 400,則返回 False
raise_for_status()如果發(fā)生錯誤,方法返回一個 HTTPError 對象
reason響應狀態(tài)的描述,比如 "Not Found" 或 "OK"
request返回請求此響應的請求對象
status_code返回 http 的狀態(tài)碼,比如 404 和 200(200 是 OK,404 是 Not Found)
text返回響應的內(nèi)容,unicode 類型數(shù)據(jù)
url返回響應的 URL

實例

# 導入 requests 包


import requests

# 發(fā)送請求

x
= requests.
get
(
'https://www.runoob.com/'
)

# 返回 http 的狀態(tài)碼


print
(x.
status_code
)

# 響應狀態(tài)的描述


print
(x.
reason
)

# 返回編碼


print
(x.
apparent_encoding
)

輸出結(jié)果如下:

200
OK
utf-8

請求 json 數(shù)據(jù)文件,返回 json 內(nèi)容:

實例

# 導入 requests 包


import requests

# 發(fā)送請求

x
= requests.
get
(
'https://www.runoob.com/try/ajax/json_demo.json'
)

# 返回 json 數(shù)據(jù)


print
(x.
json
(
)
)

輸出結(jié)果如下:

{'name': '網(wǎng)站', 'num': 3, 'sites': [{'name': 'Google', 'info': ['Android', 'Google 搜索', 'Google 翻譯']}, {'name': 'Runoob', 'info': ['菜鳥教程', '菜鳥工具', '菜鳥微信']}, {'name': 'Taobao', 'info': ['淘寶', '網(wǎng)購']}]}

requests 方法

requests 方法如下表:

方法 描述
delete(url, args)發(fā)送 DELETE 請求到指定 url
get(url, params, args)發(fā)送 GET 請求到指定 url
head(url, args)發(fā)送 HEAD 請求到指定 url
patch(url, data, args)發(fā)送 PATCH 請求到指定 url
post(url, data, json, args)發(fā)送 POST 請求到指定 url
put(url, data, args)發(fā)送 PUT 請求到指定 url
request(method, url, args)向指定的 url 發(fā)送指定的請求方法

使用 requests.request() 發(fā)送 get 請求:

實例

# 導入 requests 包


import requests

# 發(fā)送請求

x
= requests.
request
(
'get'
,
'https://www.runoob.com/'
)

# 返回網(wǎng)頁內(nèi)容


print
(x.
status_code
)

輸出結(jié)果如下:

200

設置請求頭:

實例

# 導入 requests 包


import requests

 

kw
=
{
's':
'python 教程'
}

# 設置請求頭

headers
=
{
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"
}

 


# params 接收一個字典或者字符串的查詢參數(shù),字典類型自動轉(zhuǎn)換為url編碼,不需要urlencode()

response
= requests.
get
(
"https://www.runoob.com/"
, params
= kw
, headers
= headers
)

# 查看響應狀態(tài)碼


print
(response.
status_code
)

# 查看響應頭部字符編碼


print
(response.
encoding
)

# 查看完整url地址


print
(response.
url
)

# 查看響應內(nèi)容,response.text 返回的是Unicode格式的數(shù)據(jù)


print
(response.
text
)

輸出結(jié)果如下:

200
UTF-8
https://www.runoob.com/?s=python+%E6%95%99%E7%A8%8B

... 其他內(nèi)容...

post() 方法可以發(fā)送 POST 請求到指定 url,一般格式如下:

requests.post(url, data={key: value}, json={key: value}, args)
  • url 請求 url。

  • data 參數(shù)為要發(fā)送到指定 url 的字典、元組列表、字節(jié)或文件對象。

  • json 參數(shù)為要發(fā)送到指定 url 的 JSON 對象。

  • args 為其他參數(shù),比如 cookies、headers、verify等。

實例

# 導入 requests 包


import requests

# 發(fā)送請求

x
= requests.
post
(
'https://www.runoob.com/try/ajax/demo_post.php'
)

# 返回網(wǎng)頁內(nèi)容


print
(x.
text
)

輸出結(jié)果如下:

本內(nèi)容是使用 POST 方法請求的。

請求時間: 2022-05-26 17:30:47

post 請求帶參數(shù):

實例

# 導入 requests 包


import requests

# 表單參數(shù),參數(shù)名為 fname 和 lname

myobj
=
{
'fname':
'RUNOOB'
,
'lname':
'Boy'
}

# 發(fā)送請求

x
= requests.
post
(
'https://www.runoob.com/try/ajax/demo_post2.php'
, data
= myobj
)

# 返回網(wǎng)頁內(nèi)容


print
(x.
text
)

輸出結(jié)果如下:

你好,RUNOOB Boy,今天過得怎么樣?


附加請求參數(shù)

發(fā)送請求我們可以在請求中附加額外的參數(shù),例如請求頭、查詢參數(shù)、請求體等,例如:

headers = {'User-Agent': 'Mozilla/5.0'}  # 設置請求頭
params = {'key1': 'value1', 'key2': 'value2'}  # 設置查詢參數(shù)
data = {'username': 'example', 'password': '123456'}  # 設置請求體
response = requests.post('https://www.runoob.com', headers=headers, params=params, data=data)

上述代碼發(fā)送一個 POST 請求,并附加了請求頭、查詢參數(shù)和請求體。

除了基本的 GET 和 POST 請求外,requests 還支持其他 HTTP 方法,如 PUT、DELETE、HEAD、OPTIONS 等。


分享標題:Pythonrequests模塊
當前地址:http://www.dlmjj.cn/article/cdedees.html