最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

request基本使用及各種請(qǐng)求方式參數(shù)的示例

 更新時(shí)間:2022年04月12日 15:57:55   作者:Jeff的技術(shù)棧  
這篇文章主要為大家介紹了request的基本使用及各種請(qǐng)求方式參數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

各種請(qǐng)求方式

pip3 install requests
>>> import requests
>>> r = requests.get('https://www.cnblogs.com')
>>> r = requests.post('https://www.cnblogs.com', data = {'key':'value'})
>>> r = requests.put('https://www.cnblogs.com', data = {'key':'value'})
>>> r = requests.delete('https://www.cnblogs.com')
>>> r = requests.head('https://www.cnblogs.com')
>>> r = requests.options('https://www.cnblogs.com')

request各種參數(shù)

參數(shù)說(shuō)明
params字典或字節(jié)序列,作為參數(shù)增加到url中
data字典,字節(jié)序列或文件對(duì)象,作為request的內(nèi)容
jsonJSON格式的數(shù)據(jù),作為request的內(nèi)容
headers字典,HTTP定制頭
cookies字典或CookieJar, request中的cookie
auth元組,支持HTTp認(rèn)證功能
files字典類(lèi)型,傳輸文件
timeout設(shè)定超時(shí)時(shí)間,秒為單位
proxies字典類(lèi)型,設(shè)定訪問(wèn)代理服務(wù)器,可以增加登錄認(rèn)證
allow_redirects重定向開(kāi)關(guān),默認(rèn)為T(mén)rue
stream獲取內(nèi)容立即下載開(kāi)關(guān),默認(rèn)為T(mén)rue
verify認(rèn)證SSL證書(shū)開(kāi)關(guān),默認(rèn)為T(mén)rue
cert本地SSL證書(shū)路徑

request基本使用

import requests
response = requests.get('https://www.cnblogs.com/kermitjam/')
print(response.text)
print(respone.text)  # 響應(yīng)體轉(zhuǎn)成str
print(respone.content)  # 響應(yīng)體二進(jìn)制(圖片,視頻)
print(respone.status_code)  # 響應(yīng)狀態(tài)碼
print(respone.headers)  # 響應(yīng)頭
print(respone.cookies)  # 服務(wù)端返回的cookie
print(respone.cookies.get_dict())  # 轉(zhuǎn)成字典
print(respone.cookies.items())
print(respone.url)  # 當(dāng)次請(qǐng)求的地址
print(respone.history)  # 如果有重定向,放到一個(gè)列表中.查看上一次請(qǐng)求從哪里來(lái)。(圖片防盜鏈)
print(respone.encoding)  # 編碼方式
print(respone.iter_content())  # 視頻,圖片迭代取值
content-length   # 查看下載前文件大小
response.iter_content() # 視頻,圖片迭代取值
with open("a.mp4",'wb') as f:
    for line in response.iter_content():
        f.write(line)

get請(qǐng)求攜帶參數(shù)

# 方式一:會(huì)轉(zhuǎn)碼,不推薦
response = requests.get('https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3')
# 方式二:推薦
response = requests.get('https://www.baidu.com/',params={'name':'美女','age':18})

get請(qǐng)求攜帶headers頭

respone = requests.get('http://127.0.0.1:8000/',params={'name':'美女','age':18},
                   headers={
                       # 標(biāo)志,什么東西發(fā)出的請(qǐng)求,瀏覽器信息,django框架,從哪?。浚╩eta)
                       'User-Agent': 'request',
                       # 上一個(gè)頁(yè)面的地址,圖片防盜鏈
                       'Referer': 'xxx'
                   })
print(respone.status_code)

get請(qǐng)求攜帶cookie

帶cookie,隨機(jī)字符串(用戶信息:也代表session),不管后臺(tái)用的token認(rèn)證,還是session認(rèn)證

一旦登陸了,帶著cookie發(fā)送請(qǐng)求,表示登陸了(下單,12306買(mǎi)票,評(píng)論)

# 第一種方式
ret = requests.get('http://127.0.0.1:8000/',params={'name':'美女','age':18},
                   headers={
                       'cookie': 'key3=value;key2=value',
                   })

# 第二種方式
ret = requests.get('http://127.0.0.1:8000/',params={'name':'美女','age':18},
                   cookies={"islogin":"xxx"})
print(ret.status_code)

post請(qǐng)求攜帶數(shù)據(jù)(注冊(cè)、登錄)

# data:urlencoded編碼
ret = requests.post('http://127.0.0.1:8000/', data={'name': "jeff", 'age': 18})
# data:json編碼
import json
data = json.dumps({'name': "jeff", 'age': 18})
ret = requests.post('http://127.0.0.1:8000/', json=data)
print(ret)
# 注意:編碼格式是請(qǐng)求頭中帶的,所以可以手動(dòng)修改,在headers中改

session對(duì)象

# session對(duì)象
session=requests.session()
# 跟requests.get/post用起來(lái)完全一樣,但是它處理了cookie
# 假設(shè)是一個(gè)登陸,并且成功
res = session.post('http://127.0.0.1:8000/')
# # 再向該網(wǎng)站發(fā)請(qǐng)求,就是登陸狀態(tài),不需要手動(dòng)攜帶cookie
res = session.get("http://127.0.0.1:8000/")
print(res)

亂碼問(wèn)題

# 加載回來(lái)的頁(yè)面,打印出來(lái),亂碼(我們用的是utf8編碼),如果網(wǎng)站用gbk,
ret = requests.get('http://127.0.0.1:8000/')
ret.encoding='gbk'  # 修改編碼
print(ret.apparent_encoding)  # 當(dāng)前頁(yè)面的編碼
# ret.encoding = ret.apparent_encoding
print(ret.encoding)
print(ret.apparent_encoding)

解析json數(shù)據(jù)

# 返回?cái)?shù)據(jù),有可能是json格式,有可能是html格式
ret=requests.get('http://127.0.0.1:8000/')
# print(type(ret.text))
# print(ret.text)
a=ret.json()
print(a['name'])
print(type(a))

使用代理

代理簡(jiǎn)單解釋?zhuān)?/p>

代理其實(shí)就是一個(gè)中介,A和B本來(lái)可以直連,中間插入一個(gè)C,C就是中介。
#高匿:服務(wù)端,根本不知道我是誰(shuí)
#普通:服務(wù)端是能夠知道我的ip的
#http請(qǐng)求頭中:X-Forwarded-For:代理的過(guò)程

爬蟲(chóng)使用正向代理好處:

1.突破頻率限制。做個(gè)代理池,每次請(qǐng)求都是不同的Ip,服務(wù)器認(rèn)為是不同的用戶

2.不會(huì)封自己的ip。

正向代理即是客戶端代理, 代理客戶端, 服務(wù)端不知道實(shí)際發(fā)起請(qǐng)求的客戶端.
反向代理即是服務(wù)端代理, 代理服務(wù)端, 客戶端不知道實(shí)際提供服務(wù)的服務(wù)端

ret = requests.get('https://www.pearvideo.com/', proxies={'http': '47.115.54.89'})
print(type(ret.text))
print(ret.text)

上傳文件

# 爬蟲(chóng)用的比較少,后臺(tái)寫(xiě)服務(wù)
file = {'myfile': open("1.txt", 'rb')}
ret = requests.post('http://127.0.0.1:8000/', files=file)
print(ret.content)

以上就是request基本使用及各種請(qǐng)求方式參數(shù)的示例的詳細(xì)內(nèi)容,更多關(guān)于request使用及請(qǐng)求方式參數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python郵箱API發(fā)送郵件的方法和步驟

    Python郵箱API發(fā)送郵件的方法和步驟

    Python是一種功能強(qiáng)大的編程語(yǔ)言,可以用來(lái)發(fā)送電子郵件,使用Python發(fā)送郵件可以通過(guò)郵箱API來(lái)實(shí)現(xiàn),aoksend將介紹使用Python郵箱API發(fā)送郵件的方法和步驟,需要的朋友可以參考下
    2024-04-04
  • flask解析海康攝像頭視頻的使用

    flask解析??禂z像頭視頻的使用

    本文主要介紹了flask解析??禂z像頭視頻的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python 音頻和視頻合并自動(dòng)裁剪

    python 音頻和視頻合并自動(dòng)裁剪

    本文主要介紹了python 音頻和視頻合并自動(dòng)裁剪,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • Python調(diào)用百度AI實(shí)現(xiàn)身份證識(shí)別

    Python調(diào)用百度AI實(shí)現(xiàn)身份證識(shí)別

    這篇文章主要介紹了Python通過(guò)調(diào)用百度AI的文字識(shí)別功能實(shí)現(xiàn)對(duì)身份證進(jìn)行識(shí)別,代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的朋友一起來(lái)看看效果吧
    2021-12-12
  • 使用Pytest.main()運(yùn)行時(shí)參數(shù)不生效問(wèn)題解決

    使用Pytest.main()運(yùn)行時(shí)參數(shù)不生效問(wèn)題解決

    本文主要介紹了使用Pytest.main()運(yùn)行時(shí)參數(shù)不生效問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作實(shí)戰(zhàn)案例

    Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作實(shí)戰(zhàn)案例

    SnowNLP是一個(gè)針對(duì)中文文本處理的Python庫(kù),提供分詞、詞性標(biāo)注、情感分析等功能,它基于自然語(yǔ)言處理技術(shù),能夠處理unicode編碼的文本,這篇文章主要介紹了Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作的相關(guān)資料,需要的朋友可以參考下
    2024-11-11
  • python爬蟲(chóng)正則表達(dá)式之處理?yè)Q行符

    python爬蟲(chóng)正則表達(dá)式之處理?yè)Q行符

    本文是腳本之家小編剛學(xué)習(xí)python記錄的關(guān)于python爬蟲(chóng)正則表達(dá)式之處理?yè)Q行符的相關(guān)資料,需要的朋友可以參考下
    2018-06-06
  • python輕量級(jí)orm框架 peewee常用功能速查詳情

    python輕量級(jí)orm框架 peewee常用功能速查詳情

    Peewee是一種簡(jiǎn)單而小的ORM。它有很少的(但富有表現(xiàn)力的)概念,使它易于學(xué)習(xí)和直觀的使用,感興趣的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • Python中如何實(shí)現(xiàn)MOOC掃碼登錄

    Python中如何實(shí)現(xiàn)MOOC掃碼登錄

    這篇文章主要介紹了Python中如何實(shí)現(xiàn)MOOC掃碼登錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • python字符串定義的三種方式

    python字符串定義的三種方式

    在Python中,字符串是一個(gè)非常重要的數(shù)據(jù)類(lèi)型,可用來(lái)存儲(chǔ)和操作文本數(shù)據(jù),本文主要介紹了python字符串定義的三種方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-05-05

最新評(píng)論

前郭尔| 饶河县| 大新县| 吐鲁番市| 明水县| 蛟河市| 贵德县| 九龙县| 大新县| 冀州市| 垫江县| 安多县| 时尚| 华宁县| 怀化市| 宜良县| 平山县| 黄骅市| 喀喇| 棋牌| 百色市| 巴楚县| 简阳市| 武夷山市| 临洮县| 峨山| 四子王旗| 青浦区| 景东| 万宁市| 抚远县| 内江市| 哈尔滨市| 梧州市| 綦江县| 射阳县| 车致| 广昌县| 大荔县| 临沭县| 朔州市|