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

Python網(wǎng)絡(luò)請(qǐng)求庫(kù)requests的10個(gè)基本用法

 更新時(shí)間:2024年10月18日 11:29:22   作者:Python之棧  
今天我們要聊聊Python中非常實(shí)用的一個(gè)庫(kù)——requests,這個(gè)庫(kù)讓發(fā)送HTTP請(qǐng)求變得超級(jí)簡(jiǎn)單,無(wú)論你是想抓取網(wǎng)頁(yè)數(shù)據(jù)還是測(cè)試API接口,requests都能派上大用場(chǎng),下面我們就一起來(lái)看看如何使用requests完成一些常見(jiàn)的任務(wù),需要的朋友可以參考下

引言

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,HTTP請(qǐng)求成為開(kāi)發(fā)者們?nèi)粘9ぷ髦胁豢苫蛉钡囊徊糠?。Python語(yǔ)言以其簡(jiǎn)潔易用的特點(diǎn),成為眾多開(kāi)發(fā)者首選的編程語(yǔ)言之一。而requests庫(kù)作為Python中最受歡迎的HTTP客戶(hù)端庫(kù)之一,更是大大簡(jiǎn)化了發(fā)送HTTP請(qǐng)求的過(guò)程。本文將詳細(xì)介紹如何利用requests庫(kù)執(zhí)行各種類(lèi)型的HTTP請(qǐng)求,從基礎(chǔ)的GET請(qǐng)求到復(fù)雜的認(rèn)證、文件上傳等高級(jí)功能。

發(fā)送GET請(qǐng)求

首先,你需要安裝requests庫(kù)。打開(kāi)命令行工具,輸入以下命令:

安裝完成后,就可以開(kāi)始使用了。最簡(jiǎn)單的GET請(qǐng)求如下:

這里的response.text會(huì)打印出響應(yīng)的內(nèi)容。如果你想獲取特定信息,可以解析返回的數(shù)據(jù)。比如,如果返回的是JSON格式的數(shù)據(jù),可以用response.json()方法將其轉(zhuǎn)換為Python字典。

獲取頁(yè)面的二進(jìn)制數(shù)據(jù)

有時(shí)候我們需要獲取圖片或文件等二進(jìn)制數(shù)據(jù),這時(shí)可以使用requests.get方法并指定stream=True來(lái)實(shí)現(xiàn)。

這段代碼會(huì)將圖片下載到當(dāng)前目錄下。

添加查詢(xún)參數(shù)

很多時(shí)候,我們需要向URL添加查詢(xún)參數(shù)。這可以通過(guò)傳遞一個(gè)字典給params參數(shù)來(lái)實(shí)現(xiàn):

這里httpbin.org是一個(gè)測(cè)試HTTP請(qǐng)求的好地方。

發(fā)送POST請(qǐng)求

發(fā)送POST請(qǐng)求也很簡(jiǎn)單,只需要調(diào)用requests.post方法,并傳入要發(fā)送的數(shù)據(jù)即可:

處理JSON數(shù)據(jù)

當(dāng)服務(wù)器返回JSON格式的數(shù)據(jù)時(shí),我們可以直接使用response.json()來(lái)解析它:

這段代碼會(huì)打印出GitHub API返回的所有事件類(lèi)型。

設(shè)置自定義Header

如果你需要設(shè)置HTTP頭部信息,可以通過(guò)headers參數(shù)來(lái)實(shí)現(xiàn):

設(shè)置User-Agent可以幫助我們模擬瀏覽器行為。

發(fā)送帶認(rèn)證信息的請(qǐng)求

有時(shí)我們需要訪問(wèn)需要認(rèn)證的網(wǎng)站或API。requests庫(kù)提供了多種認(rèn)證方式,包括基本認(rèn)證(Basic Auth)和OAuth等。下面我們來(lái)看一個(gè)基本認(rèn)證的例子:

在這個(gè)例子中,我們使用了HTTPBasicAuth類(lèi)來(lái)提供用戶(hù)名和密碼進(jìn)行認(rèn)證。

發(fā)送帶有表單數(shù)據(jù)的請(qǐng)求

當(dāng)我們需要提交表單數(shù)據(jù)時(shí),可以使用requests.post方法,并通過(guò)data參數(shù)傳遞字典形式的數(shù)據(jù):

這段代碼會(huì)發(fā)送包含名字和郵箱的POST請(qǐng)求。

發(fā)送帶有文件的請(qǐng)求

在上傳文件時(shí),可以使用requests.post方法,并通過(guò)files參數(shù)傳遞文件對(duì)象:

這段代碼會(huì)上傳名為example.txt的文件到服務(wù)器。

處理重定向和超時(shí)

在處理網(wǎng)絡(luò)請(qǐng)求時(shí),我們可能會(huì)遇到重定向和超時(shí)問(wèn)題。requests庫(kù)提供了相應(yīng)的參數(shù)來(lái)處理這些問(wèn)題。

處理重定向:

如果不需要自動(dòng)重定向,可以設(shè)置allow_redirects=False。

處理超時(shí):

這段代碼設(shè)置了請(qǐng)求的超時(shí)時(shí)間為5秒,如果超過(guò)這個(gè)時(shí)間沒(méi)有響應(yīng),則會(huì)拋出Timeout異常。

實(shí)戰(zhàn)案例:獲取天氣信息

假設(shè)我們需要獲取某個(gè)城市的天氣信息,可以使用OpenWeatherMap提供的API來(lái)實(shí)現(xiàn)。以下是具體的步驟:

1. 注冊(cè)一個(gè)OpenWeatherMap賬戶(hù)并獲取API密鑰。2. 使用requests庫(kù)發(fā)送GET請(qǐng)求獲取天氣數(shù)據(jù)。

下面是完整的代碼示例:

在這段代碼中,我們使用了requests.get方法發(fā)送GET請(qǐng)求,并通過(guò)response.json()方法解析返回的JSON數(shù)據(jù)。然后,我們提取了溫度和天氣描述信息并打印出來(lái)。

總結(jié)

本文介紹了如何使用requests庫(kù)執(zhí)行各種類(lèi)型的HTTP請(qǐng)求,包括發(fā)送GET/POST請(qǐng)求、處理JSON數(shù)據(jù)、設(shè)置自定義Header、發(fā)送帶認(rèn)證信息的請(qǐng)求、上傳文件、處理重定向和超時(shí)等問(wèn)題。通過(guò)實(shí)戰(zhàn)案例展示了如何利用requests獲取天氣信息,希望這些知識(shí)能夠幫助你在實(shí)際開(kāi)發(fā)過(guò)程中更加高效地處理HTTP請(qǐng)求。

以上就是Python網(wǎng)絡(luò)請(qǐng)求庫(kù)requests的10個(gè)基本用法的詳細(xì)內(nèi)容,更多關(guān)于Python requests基本用法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 聊聊python的gin庫(kù)的介紹和使用

    聊聊python的gin庫(kù)的介紹和使用

    gin像一個(gè)封裝了參數(shù)配置的類(lèi),使用這個(gè)類(lèi)將使得大量的參數(shù)配置變得簡(jiǎn)單清晰,本文重點(diǎn)給大家介紹python的gin庫(kù)的介紹和使用,感興趣的朋友跟隨小編一起看看吧
    2021-04-04
  • 詳解appium+python 啟動(dòng)一個(gè)app步驟

    詳解appium+python 啟動(dòng)一個(gè)app步驟

    這篇文章主要介紹了詳解appium+python 啟動(dòng)一個(gè)app步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • python連接sql?server數(shù)據(jù)庫(kù)的方法實(shí)戰(zhàn)

    python連接sql?server數(shù)據(jù)庫(kù)的方法實(shí)戰(zhàn)

    當(dāng)我們用Python來(lái)編寫(xiě)網(wǎng)站,必須要能夠通過(guò)python操作數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于python連接sql?server數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python實(shí)現(xiàn)遍歷子文件夾并將文件復(fù)制到不同的目標(biāo)文件夾

    Python實(shí)現(xiàn)遍歷子文件夾并將文件復(fù)制到不同的目標(biāo)文件夾

    這篇文章主要介紹了如何基于Python語(yǔ)言實(shí)現(xiàn)遍歷多個(gè)子文件夾,將每一個(gè)子文件夾中大量的文件,按照每一個(gè)文件的文件名稱(chēng)的特點(diǎn)復(fù)制到不同的目標(biāo)文件夾中,感興趣的可以了解下
    2023-08-08
  • python中filter,map,reduce的作用

    python中filter,map,reduce的作用

    這篇文章主要介紹了python中filter,map,reduce的作用,文章首先通過(guò)map函數(shù)展開(kāi),map主要作用是計(jì)算一個(gè)序列或者多個(gè)序列進(jìn)行函數(shù)映射之后的值,感興趣的朋友可以參考一下
    2022-06-06
  • 使用PyCharm調(diào)試程序?qū)崿F(xiàn)過(guò)程

    使用PyCharm調(diào)試程序?qū)崿F(xiàn)過(guò)程

    這篇文章主要介紹了使用PyCharm調(diào)試程序?qū)崿F(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 在python list中篩選包含字符的字段方式

    在python list中篩選包含字符的字段方式

    這篇文章主要介紹了在python list中篩選包含字符的字段方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python實(shí)現(xiàn)關(guān)鍵詞提取的示例講解

    python實(shí)現(xiàn)關(guān)鍵詞提取的示例講解

    下面小編就為大家分享一篇python實(shí)現(xiàn)關(guān)鍵詞提取的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python3獲取當(dāng)前文件的上一級(jí)目錄實(shí)例

    python3獲取當(dāng)前文件的上一級(jí)目錄實(shí)例

    下面小編就為大家分享一篇python3獲取當(dāng)前文件的上一級(jí)目錄實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python的類(lèi)變量和成員變量用法實(shí)例教程

    python的類(lèi)變量和成員變量用法實(shí)例教程

    這篇文章主要介紹了python的類(lèi)變量和成員變量用法,是學(xué)習(xí)Python程序設(shè)計(jì)所必須牢固掌握的,需要的朋友可以參考下
    2014-08-08

最新評(píng)論

永胜县| 隆安县| 隆安县| 玉屏| 瑞金市| 四会市| 临江市| 濮阳市| 惠安县| 平昌县| 绵竹市| 哈尔滨市| 海门市| 观塘区| 延川县| 迭部县| 和静县| 新民市| 北宁市| 望江县| 冀州市| 黎平县| 商都县| 永泰县| 松滋市| 洛浦县| 高密市| 读书| 沛县| 花垣县| 盐源县| 乳源| 灵丘县| 吴桥县| 丰城市| 天长市| 石嘴山市| 三门峡市| 晴隆县| 四子王旗| 葵青区|