Python基礎教程——Get和Post請求

2020-12-22 琴心劍膽寫代碼

使用Python,我們很多時候是需要發送一個網絡請求的,這個真的是很容易很容易了,幾行代碼就能輕鬆搞定。

一起使用requests這個庫

HTTP請求大家很常用,我們在這裡用最簡方式搞定它。

優秀的第三方庫

在這裡,我們使用requests這個第三方庫。我也向你們推薦使用這個。

Python自帶的urllib2其實也支持完整的HTTP請求功能,但是requests更強大,支持連接池、連接保持、session/cookie會話保持、支持文件上傳、大文件上傳、自動響應內容編碼、國際化的URL、POST數據自動編碼,並且還自動實現了keep-alive,等等。總而言之,各種好處說不盡,但是使用卻很簡單

requests這個庫不光功能強大簡單易用,而且官方更新很及時,最新版本是今年2月20日發布的2.30.0,就在昨天,官方還修復了5392號BUG。

編寫代碼

GET請求:

實在是太簡單啊

帶參數的GET請求:

不必自己在URL字符串上轉碼拼參數

POST請求:

一行代碼就搞定啦

帶數據的POST請求:

將一個字典傳進去就可以了

在國內,根據業界慣例,我們的接口都是POST,處理的是JSON,所以我們很多時候是要傳一個JSON的,響應也是JSON,這個也很簡單:

requests以POST方式處理JSON

最後一行,就是從解析JSON之後取出msg的值。

Session處理

我們在連續執行一些請求的時候,尤其是對一個網站做爬蟲時,是不需要每次都創建一個新的連接的,這個時候使用session是十分有必要的。

使用session

在這裡,我們把自己偽裝成了Chrome瀏覽器。

幾點注意

HTTPS請求也是直接發送,不需要做特殊處理對於同一個網站反覆要使用多次連接的,可以使用連接池requests請求時會對內容自動轉碼,不需要我們做處理最後要提醒大家的是:一定要使用官方的英文文檔,不要使用中文文檔,中文文檔是機器翻譯的,是這樣的:

實在是神翻譯,還是算了吧。

不過英文確實會導致學習成本升高,大家有了網絡上的文章入門指導,再對照書本練習,十天半個月你就能成為高手。我就是這麼成長起來的。

相關焦點

  • jQuery的$.get()、$.post()和$.ajax()以GET/POST方式請求數據
    ,如get、post、put、deletet等,但是最常用的是獲取數據和提交數據,獲取數據是get請求,提交數據是post請求。在jQuery的Ajax技術中,可以使用的有3個方法:$.get()方法主要用於以HTTP GET的方式請求數據。$.post()方法主要用於以HTTP POST的方式請求數據。
  • 乾貨丨Python接口測試自動化實戰及代碼示例:含get、post等方法
    最終選定 python 作為腳本開發語言,使用其自帶的 requests 和 urllib 模塊進行接口請求,使用優化後的 unittest 測試框架編寫測試接口函數,測試結果選用 HTMLTestRunner 框架予以展示,並使用 python 的 ssl 模塊支持 https 協議的驗證。接下來,我詳細地介紹這些模塊,並給出各個模塊完整的測試代碼。
  • Python接口測試實戰丨如何實現特殊字符集的自動化測試?
    在當前網際網路產品更新迭代的快節奏下,回歸測試的時間被嚴重壓縮,在金融領域和其他網際網路應用場景下,支付、轉帳、清算往往是核心功能,為了確保資金安全和快速到帳,接口在對用戶名、帳戶名中的特殊字符的正確處理顯得尤為重要。
  • PHP中的cURL實現Get和Post請求的方法詳解
    1.cURL介紹cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。本文將介紹 cURL 的一些高級特性,以及在PHP中如何運用它。
  • 什麼是Python網絡爬蟲?看這篇清晰多了!
    當輸入網址,我們就相當於對網址伺服器發送了一個請求,網站伺服器收到以後,進行處理和解析,進而給我們一個相應的相應。如果網絡正確並且網址不錯,一般都可以得到網頁信息,否則告訴我們一個錯誤代碼,比如404. 整個過程可以稱為請求和響應。常見的請求方法有兩種,GET和 POST。G
  • Python爬蟲實戰 | 只需 「4步」 入門網絡爬蟲(有福利哦)
    當輸入網址,我們就相當於對網址伺服器發送了一個請求,網站伺服器收到以後,進行處理和解析,進而給我們一個相應的相應。如果網絡正確並且網址不錯,一般都可以得到網頁信息,否則告訴我們一個錯誤代碼,比如404. 整個過程可以稱為請求和響應。常見的請求方法有兩種,GET和 POST。G
  • 如何使用Python對Instagram進行數據分析?
    安裝你可以使用pip安裝該軟體庫,命令如下:python -m pip install -e git+https://github.com/LevPasha/Instagram-API-python.git#egg=InstagramAPI 如果系統中尚未安裝ffmpeg,那麼在Linux
  • Python實戰 | 只需 「4步」 入門網絡爬蟲
    當輸入網址,我們就相當於對網址伺服器發送了一個請求,網站伺服器收到以後,進行處理和解析,進而給我們一個相應的相應。如果網絡正確並且網址不錯,一般都可以得到網頁信息,否則告訴我們一個錯誤代碼,比如404. 整個過程可以稱為請求和響應。常見的請求方法有兩種,GET和 POST。
  • Jmeter之發起GET與POST請求
    HTTP請求介紹Jmeter當中,如何發起一個GET請求和POST請求發起GET請求1.新建測試計劃2.新建線程組3.添加HTTP請求按照真實的接口信息進行填寫發起POST請求與發起GET請求類似,只需要將上圖中方法選擇為POST即可
  • Python基礎教程——簡潔實用的學習大綱——高手必經之路
    是不是看著很高大上?相信很多人在網上看到過上述圖片相關的內容和電子圖書甚至有人買了紙質圖書了。高級應用最主要的就是線程、協程和高階函數。線程因為先天性缺陷,用的人很少,協程倒是一個不錯的應用,筆者也有一遍文章專門有介紹和案例,
  • 原生js與JQuery的ajax請求有什麼區別?
    原生js的ajax請求1.創建XMLHttpRequest對象2.準備發送請求 open()3.發送請求數據readyState狀態碼實例:get請求:post請求:方法封裝:JQuery的ajax請求$.ajax()eg:$.post()eg:$.get()
  • SDN軟體定義網絡之python應用開發學習總結
    開發應用,用來下發流表安裝gedit編輯器,實驗環境中有pycharm,我這裡使用gedit,需要先安裝在控制器命令行輸入apt-get update獲取源再使用apt-get install gedit 安裝gedit編輯器這裡在home/openlab/下創建了python1文件夾'''使用python調用opendaylight開源控制器的
  • Flutter網絡請求Android iOS運行真正的跨平臺
    此答案說明Dart團隊如何使用http包發出HTTP請求,我們將使用JSONPlaceholder作為API示例,大家可以看看格式如下GET / posts GET / posts / 1 GET / posts
  • python開發web服務 bottle框架
    然後pip指令就不能用了,就和升級glibc錯誤之後,ls cd這種shell指令都無法執行是一個效果。而且升級了之後,在想安裝回低版本的pip就沒有對應的安裝包了。yum只能找到20.0.2版本的(老版本會被覆蓋難道?)。下載了get-pip.py也無法安裝成功。
  • JavaScript進階之原生AJAX接口請求的方式
    簡單post異步請求對象由於伺服器做出響應需要時間(比如網速慢等原因),所以我們需要監聽伺服器響應的狀態,然後才能進行處理。簡單get請求狀態在200說明請求成功AJAX API解析1.xhr.open() 發起請求,可以是get、post方式
  • 【Python Tips】Java 與Python中數據結構比較
    java.util.Listpython.listList ls = new ArrayList();ls = list()ls.size
  • 【原創】在Java中使用Get/Post方式發送Http請求
    在Java中使用Get/Post方式發送Http請求RESTfulClient
  • Python爬取NBA虎撲球員數據
    受害者地址https://nba.hupu.com/stats/players本文知識點:環境介紹:python 3.6pycharmrequestscsv爬蟲案例的一般步驟requests # 第三方工具import parsel # 數據解析工具 (css\正則表達式\xpath)import csv確定url地址(網頁分析) 完成一半 (靜態網頁\動態網頁)url = 'https://nba.hupu.com/stats/players/pts/{}'.format(page)發送網絡請求
  • Python網絡爬蟲
    (三):python爬蟲的流程獲取網頁——解析網頁(提取數據)——存儲數據1:獲取網頁:給一個網址發送請求,該網址會返回整個網頁的數據。基礎技術:re正則表達式、BeautifulSoup和lxml。進階技術:解決中文亂碼3:存儲數據:把數據存儲下來,可存放到資料庫,也可存在csv中。
  • Python3.9官方文檔翻譯版python簡介之列表
    This means that the following slice returns a shallow copy of the list:自譯:所有的切片操作會返回一個包含請求元素的新列表。這意味著輸出的切片返回的是列表的淺複製。