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

Python中Requests庫的實現(xiàn)示例

 更新時間:2025年05月19日 10:32:13   作者:wanglaqqqq  
Requests是Python生態(tài)中最廣泛使用的HTTP客戶端庫,本文主要介紹了Python中Requests庫的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下

一、Requests 庫簡介

Requests 是 Python 生態(tài)中 ?最廣泛使用的 HTTP 客戶端庫,以「人類友好」為核心設(shè)計理念,簡化了 HTTP 協(xié)議交互的復(fù)雜性。其核心價值包括:

  • ?極簡 API:通過 requests.get()、post() 等函數(shù)實現(xiàn)復(fù)雜網(wǎng)絡(luò)操作,代碼量比原生 urllib 減少 70% 以上。
  • ?全協(xié)議支持:覆蓋 GET、POST、PUT、DELETE 等主流 HTTP 方法,適配 RESTful API、WebSocket 等場景。
  • ?高效穩(wěn)定:內(nèi)置連接池復(fù)用、自動重試、超時控制等機制,支持每秒 1000+ 次高并發(fā)請求。
  • ?生態(tài)兼容:無縫對接 BeautifulSoup(網(wǎng)頁解析)、Pandas(數(shù)據(jù)處理)、Flask(服務(wù)測試)等工具鏈。

二、安裝與環(huán)境配置

# 基礎(chǔ)安裝(Python 3.7+ 環(huán)境)  
pip install requests  

# 國內(nèi)鏡像加速安裝  
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests  

驗證安裝

import requests  
print(requests.__version__)  # 輸出示例:2.31.0  

三、核心功能與常用函數(shù)

?1. HTTP 基礎(chǔ)請求方法

函數(shù)功能描述示例代碼
?**requests.get()**發(fā)送 GET 請求(數(shù)據(jù)獲取場景)response = requests.get("https://api.github.com")
?**requests.post()**發(fā)送 POST 請求(表單提交/API 調(diào)用)requests.post("https://httpbin.org/post", data={"key": "value"})
?**requests.put()**發(fā)送 PUT 請求(資源更新)requests.put("https://api.example.com/data/1", json={"name": "Kimi"})
?**requests.delete()**發(fā)送 DELETE 請求(資源刪除)requests.delete("https://api.example.com/data/1")
?**requests.Session()**創(chuàng)建會話對象(保持 Cookies 和 TCP 連接復(fù)用,提升性能)with requests.Session() as s: s.get("https://example.com")

2. 請求參數(shù)與定制化

  • ?查詢參數(shù)傳遞

    params = {"q": "Python", "page": 2}  
    response = requests.get("https://search.example.com", params=params)  

    生成 URL:https://search.example.com?q=Python&page=2 

  • ?請求頭定制

    headers = {"User-Agent": "Mozilla/5.0", "Authorization": "Bearer YOUR_TOKEN"}  
    requests.get("https://api.example.com", headers=headers)  

    模擬瀏覽器行為或身份驗證 

  • ?JSON 數(shù)據(jù)提交

    requests.post("https://api.example.com/login", json={"username": "admin", "password": "secret"})  

    自動設(shè)置 Content-Type: application/json 

?3. 響應(yīng)處理與解析

屬性/方法功能描述示例代碼
?**response.status_code**獲取 HTTP 狀態(tài)碼(如 200 表示成功,404 資源未找到)if response.status_code == 200: print("成功")
?**response.text**獲取響應(yīng)內(nèi)容(自動解碼文本,如 HTML/XML)print(response.text[:500]) # 截取前500字符
?**response.json()**解析 JSON 響應(yīng)為 Python 字典或列表data = response.json(); print(data["temperature"])
?**response.headers**獲取響應(yīng)頭信息(如服務(wù)器類型、緩存策略)print(response.headers["Content-Type"])
?**response.raise_for_status()**自動拋出異常(狀態(tài)碼非 200 時觸發(fā))try: response.raise_for_status() except requests.HTTPError: ...

4. 高級功能

  • ?文件上傳與下載

    # 上傳文件  
    files = {"file": open("report.pdf", "rb")}  
    requests.post("https://api.example.com/upload", files=files)[4,6](@ref)  
    
    # 流式下載大文件  
    with requests.get("https://example.com/large_video.mp4", stream=True) as r:  
        with open("video.mp4", "wb") as f:  
            for chunk in r.iter_content(chunk_size=8192):  
                f.write(chunk)  
  • ?超時與重試策略

    from requests.adapters import HTTPAdapter  
    from urllib3.util.retry import Retry  
    
    retry = Retry(total=3, backoff_factor=1, status_forcelist=[500, 502, 503])  
    adapter = HTTPAdapter(max_retries=retry)  
    session = requests.Session()  
    session.mount("https://", adapter)  
    session.get("https://unstable-api.com", timeout=5)  # 超時5秒,重試3次[4,6](@ref)  

四、應(yīng)用場景與實戰(zhàn)案例

  • ?數(shù)據(jù)采集與爬蟲

    • 抓取新聞標題:requests.get() + BeautifulSoup 解析 HTML
    • 動態(tài)內(nèi)容加載:配合 Selenium 處理 JavaScript 渲染頁面
  • ?API 集成開發(fā)

    • 調(diào)用天氣接口:requests.get("https://weather-api.com?city=北京")
    • 對接 ChatGPT:發(fā)送 JSON 請求并處理流式響應(yīng)
  • ?自動化測試

    • 驗證 REST API 功能:斷言響應(yīng)狀態(tài)碼和數(shù)據(jù)格式
    • 壓力測試:多線程并發(fā)發(fā)送請求(需結(jié)合 concurrent.futures
  • ?企業(yè)級應(yīng)用

    • 財務(wù)報表批量下載:會話保持 + 定時任務(wù)
    • 跨系統(tǒng)數(shù)據(jù)同步:OAuth 認證 + POST/PUT 方法

?五、注意事項與優(yōu)化技巧

  • ?安全規(guī)范

    • 敏感數(shù)據(jù)(如 API Key)避免硬編碼,使用環(huán)境變量管理
    • 啟用 HTTPS 并驗證證書:verify=True(默認)
  • ?性能調(diào)優(yōu)

    • 復(fù)用 Session 對象減少 TCP 握手開銷
    • 設(shè)置合理超時:timeout=10 防止阻塞主線程
  • ?異常處理

    try:  
        response = requests.get(url, timeout=5)  
        response.raise_for_status()  
    except requests.Timeout:  
        print("請求超時")  
    except requests.ConnectionError:  
        print("網(wǎng)絡(luò)連接失敗")  

到此這篇關(guān)于Python中Requests庫的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Python Requests庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中的Popen函數(shù)demo演示

    Python中的Popen函數(shù)demo演示

    在Python的subprocess模塊中,Popen函數(shù)用于創(chuàng)建子進程并與之通信,相較于os.system(),Popen提供了更多靈活性,如可捕獲子進程的標準輸出和錯誤,exe_path參數(shù)用于指定要執(zhí)行的文件或命令,本文給大家介紹Python中的Popen函數(shù),感興趣的朋友一起看看吧
    2024-09-09
  • Python爬蟲之Selenium鼠標事件的實現(xiàn)

    Python爬蟲之Selenium鼠標事件的實現(xiàn)

    這篇文章主要介紹了Python爬蟲之Selenium鼠標事件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python時間差中seconds和total_seconds的區(qū)別詳解

    Python時間差中seconds和total_seconds的區(qū)別詳解

    今天小編就為大家分享一篇Python時間差中seconds和total_seconds的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python第三方庫的幾種安裝方式(小結(jié))

    Python第三方庫的幾種安裝方式(小結(jié))

    這篇文章主要介紹了Python第三方庫的幾種安裝方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python實現(xiàn)可獲取網(wǎng)易頁面所有文本信息的網(wǎng)易網(wǎng)絡(luò)爬蟲功能示例

    Python實現(xiàn)可獲取網(wǎng)易頁面所有文本信息的網(wǎng)易網(wǎng)絡(luò)爬蟲功能示例

    這篇文章主要介紹了Python實現(xiàn)可獲取網(wǎng)易頁面所有文本信息的網(wǎng)易網(wǎng)絡(luò)爬蟲功能,涉及Python針對網(wǎng)頁的獲取、字符串正則判定等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python如何去除圖片干擾代碼示例

    Python如何去除圖片干擾代碼示例

    圖片降噪是一個廣泛應(yīng)用于圖像處理的技術(shù),可以提高圖像質(zhì)量和相關(guān)應(yīng)用的效果,這篇文章主要介紹了Python如何去除圖片干擾的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-06-06
  • python中Pycharm 輸出中文或打印中文亂碼現(xiàn)象的解決辦法

    python中Pycharm 輸出中文或打印中文亂碼現(xiàn)象的解決辦法

    本篇文章主要介紹了python中Pycharm 輸出中文或打印中文亂碼現(xiàn)象的解決辦法 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Python中模塊string.py詳解

    Python中模塊string.py詳解

    這篇文章主要介紹了Python中模塊之string.py的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • 基于Python3制作一個帶GUI界面的小說爬蟲工具

    基于Python3制作一個帶GUI界面的小說爬蟲工具

    這篇文章主要為大家介紹了一個通過Python3制作的帶GUI界面的小說爬蟲工具,用來從筆趣閣爬取小說。感興趣的小伙伴可以跟隨小編一起動手嘗試一下
    2022-02-02
  • Python實現(xiàn)緩存的兩個簡單方法

    Python實現(xiàn)緩存的兩個簡單方法

    緩存是一種用于提高應(yīng)用程序性能的技術(shù),它通過臨時存儲程序獲得的結(jié)果,以便在以后需要時重用它們,本文將學(xué)習(xí)Python中的不同緩存技術(shù),感興趣的可以了解下
    2024-11-11

最新評論

策勒县| 南丰县| 东平县| 都江堰市| 穆棱市| 渑池县| 宜昌市| 沙田区| 天水市| 渭南市| 哈密市| 三门峡市| 铜鼓县| 泊头市| 日土县| 贡嘎县| 永川市| 阜南县| 石景山区| 资阳市| 江山市| 和硕县| 陆河县| 乌拉特中旗| 车致| 叶城县| 邵阳市| 彩票| 平舆县| 高陵县| 连云港市| 巴彦淖尔市| 丰宁| 武冈市| 龙陵县| 铁岭市| 莒南县| 兴仁县| 客服| 林口县| 通山县|