日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

Python requests 模塊

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

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

requests 模塊比 模塊更簡潔。

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

import requests

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

實例

# 導(dǎo)入 requests 包


import requests

# 發(fā)送請求

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

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


print
(x.
text
)

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

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

更多響應(yīng)信息如下:

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

實例

# 導(dǎo)入 requests 包


import requests

# 發(fā)送請求

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

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


print
(x.
status_code
)

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


print
(x.
reason
)

# 返回編碼


print
(x.
apparent_encoding
)

輸出結(jié)果如下:

200
OK
utf-8

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

實例

# 導(dǎo)入 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 請求:

實例

# 導(dǎo)入 requests 包


import requests

# 發(fā)送請求

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

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


print
(x.
status_code
)

輸出結(jié)果如下:

200

設(shè)置請求頭:

實例

# 導(dǎo)入 requests 包


import requests

 

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

# 設(shè)置請求頭

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
)

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


print
(response.
status_code
)

# 查看響應(yīng)頭部字符編碼


print
(response.
encoding
)

# 查看完整url地址


print
(response.
url
)

# 查看響應(yīng)內(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等。

實例

# 導(dǎo)入 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ù):

實例

# 導(dǎo)入 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'}  # 設(shè)置請求頭
params = {'key1': 'value1', 'key2': 'value2'}  # 設(shè)置查詢參數(shù)
data = {'username': 'example', 'password': '123456'}  # 設(shè)置請求體
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://m.5511xx.com/article/cdedees.html