亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python之 requests的使用(一)

 更新時(shí)間:2023年04月09日 10:49:11   作者:愛(ài)吃餅干的小白鼠  
requests是一個(gè)很實(shí)用的Python HTTP客戶端庫(kù),爬蟲和測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到,requests是Python語(yǔ)言的第三方的庫(kù),專門用于發(fā)送HTTP請(qǐng)求,使用起來(lái)比urllib簡(jiǎn)潔很多,這篇文章主要介紹requests的基礎(chǔ)用法

?? requests的使用(一)

 大家好,今天就來(lái)說(shuō)說(shuō)requests的基礎(chǔ)用法。requests是一個(gè)很實(shí)用的Python HTTP客戶端庫(kù),爬蟲和測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到,requests是Python語(yǔ)言的第三方的庫(kù),專門用于發(fā)送HTTP請(qǐng)求,使用起來(lái)比urllib簡(jiǎn)潔很多。

??1.準(zhǔn)備工作

首先呢,我們要確保我們已經(jīng)之前安裝requests庫(kù),如果沒(méi)有安裝,按照下面步驟按照庫(kù)。

?pip 安裝

無(wú)論是 Windows、Linux 還是 Mac,都可以通過(guò) pip 這個(gè)包管理工具來(lái)安裝。

在命令行下運(yùn)行如下命令即可完成 requests 庫(kù)的安裝:

pip3 install requests

這是最簡(jiǎn)單的安裝方式,推薦此種方法安裝。

?驗(yàn)證安裝

為了驗(yàn)證庫(kù)是否已經(jīng)安裝成功,可以在命令行下測(cè)試一下:

import requests
 
res = requests.get('https://www.baidu.com/')
 
print(res)

輸入如上內(nèi)容,如果什么錯(cuò)誤提示也沒(méi)有,那么就證明我們已經(jīng)成功安裝了 requests。

??2.實(shí)例引入

requests庫(kù)請(qǐng)求網(wǎng)頁(yè)用到的是get()方法,下面通過(guò)實(shí)例來(lái)看一下。

import requests
 
res = requests.get('https://www.baidu.com/')
 
print(type(res))
 
print(res)
 
print(res.text)
 
print(res.cookies)
 

這里我們調(diào)用get()方法實(shí)現(xiàn),得到一個(gè)response對(duì)象,然后分別輸出response的類型,狀態(tài)碼,內(nèi)容以及cookies。

使用get()方法成功實(shí)現(xiàn)一個(gè)get()請(qǐng)求這不算什么,更方便的請(qǐng)求還有其他的。比如post(),put()等等。

??3.get()請(qǐng)求

HTTP最常見(jiàn)的請(qǐng)求之一就是GET請(qǐng)求,下面我們首先先來(lái)了解一下利用requests構(gòu)建GET的方法

?基本實(shí)例

首先,我們構(gòu)建一個(gè)最簡(jiǎn)單的get請(qǐng)求,請(qǐng)求的鏈接如下,該網(wǎng)站會(huì)判斷如果用戶發(fā)起的的是get請(qǐng)求的話,它就會(huì)返回響應(yīng)的請(qǐng)求信息

import requests
 
res = requests.get('http://httpbin.org/get')
 
print(res.text)

運(yùn)行的結(jié)果如下:

{
  "args": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.27.1", 
    "X-Amzn-Trace-Id": "Root=1-637ae5d7-35da1bf57b139d152585d12a"
  }, 
  "origin": "223.215.67.113", 
  "url": "http://httpbin.org/get"
}

可以發(fā)現(xiàn),我們成功發(fā)起了get請(qǐng)求,返回結(jié)果中包含請(qǐng)求頭,url,IP等信息。

那么,對(duì)于GET請(qǐng)求,如果我們想要附加額外信息,一般怎么添加呢?比如講,現(xiàn)在想添加兩個(gè)參數(shù),其中name是Tina,age是18。要構(gòu)造這個(gè)請(qǐng)求鏈接,是不是可以直接寫成:

r = requests.get('http://httpbin.org/get?name=Tina&age=18')

這樣也是可以的,我們還可以通過(guò)字典來(lái)構(gòu)造。利用params這個(gè)參數(shù)就好了。

import requests
 
data = {
 
    'name':'Tina',
    
    'age':'18'
    }
 
res = requests.get('http://httpbin.org/get',params = data)
 
print(res.text)

運(yùn)行結(jié)果如下:

{
  "args": {
    "age": "18", 
    "name": "Tina"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.27.1", 
    "X-Amzn-Trace-Id": "Root=1-637ae902-695483e87b26b3ad49d15df7"
  }, 
  "origin": "223.215.67.113", 
  "url": "http://httpbin.org/get?name=Tina&age=18"
}

通過(guò)運(yùn)行結(jié)果判斷,請(qǐng)求的鏈接自動(dòng)變成了帶有后綴的鏈接。

另外,網(wǎng)頁(yè)返回的類型實(shí)際上是str,但是它是json()格式的,我們可以用json返回一個(gè)字典。如果不是json格式,使用json就會(huì)報(bào)錯(cuò),拋出json.decoder.JSONDecodeError異常。

??4.post()請(qǐng)求

上面我們了解了最基本的get請(qǐng)求,另外一種比較常見(jiàn)的請(qǐng)求方式就是post()。使用requests實(shí)現(xiàn)post請(qǐng)求也是非常簡(jiǎn)單,示例如下。

import requests
 
res = requests.post('http://httpbin.org/post')
 
print(res.text)

運(yùn)行之后就會(huì)發(fā)現(xiàn)得到了結(jié)果,就說(shuō)明我們post請(qǐng)求成功。

??5.響應(yīng)

發(fā)送請(qǐng)求,之后得到的肯定就是響應(yīng)。除了text,還有狀態(tài)碼,響應(yīng)頭,cookies等等。

requests 庫(kù)可以用來(lái)發(fā)送 HTTP 請(qǐng)求并獲取響應(yīng)。當(dāng)你發(fā)送一個(gè) HTTP 請(qǐng)求時(shí),你會(huì)得到一個(gè) Response 對(duì)象,它包含了從服務(wù)器返回的所有數(shù)據(jù)。Response 對(duì)象有以下屬性:

status_code:HTTP 狀態(tài)碼,表示服務(wù)器的響應(yīng)狀態(tài)。
headers:一個(gè)字典,其中包含了從服務(wù)器返回的所有頭部信息。
body:一個(gè)字節(jié)串,包含了從服務(wù)器返回的所有數(shù)據(jù)。

??總結(jié)

requests是一個(gè)很實(shí)用的Python HTTP客戶端庫(kù),爬蟲和測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到,requests是Python語(yǔ)言的第三方的庫(kù),專門用于發(fā)送HTTP請(qǐng)求,使用起來(lái)比urllib簡(jiǎn)潔很多。

 本文我們說(shuō)了requests的簡(jiǎn)單用法,知道了如何發(fā)送請(qǐng)求,下一篇我們更深層次的來(lái)學(xué)習(xí)requests。我們看看高級(jí)一點(diǎn)的操作,比如講文件上傳,cookies設(shè)置,代理設(shè)置之類的。

到此這篇關(guān)于Python之 requests的使用(一)的文章就介紹到這了,更多相關(guān)Python requests的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)?和人人對(duì)戰(zhàn)

    Python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)?和人人對(duì)戰(zhàn)

    這篇文章主要介紹了Python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)?和人人對(duì)戰(zhàn),通過(guò)定義黑白子,落子位置以及獲勝規(guī)則展開詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-05-05
  • Python實(shí)現(xiàn)Harbor私有鏡像倉(cāng)庫(kù)垃圾自動(dòng)化清理詳情

    Python實(shí)現(xiàn)Harbor私有鏡像倉(cāng)庫(kù)垃圾自動(dòng)化清理詳情

    這篇文章主要介紹了Python實(shí)現(xiàn)Harbor私有鏡像倉(cāng)庫(kù)垃圾自動(dòng)化清理詳情,文章圍繞主題分享相關(guān)詳細(xì)代碼,需要的小伙伴可以參考一下
    2022-05-05
  • Pygame Transform圖像變形的實(shí)現(xiàn)示例

    Pygame Transform圖像變形的實(shí)現(xiàn)示例

    pygame.transform 模塊允許您對(duì)加載、創(chuàng)建后的圖像進(jìn)行一系列操作,比如調(diào)整圖像大小、旋轉(zhuǎn)圖片等操作,感興趣的可以了解一下
    2021-11-11
  • 在 Django/Flask 開發(fā)服務(wù)器上使用 HTTPS

    在 Django/Flask 開發(fā)服務(wù)器上使用 HTTPS

    使用 Django 或 Flask 這種框架開發(fā) web app 的時(shí)候一般都會(huì)用內(nèi)建服務(wù)器開發(fā)和調(diào)試程序,等程序完成后再移交到生產(chǎn)環(huán)境部署。問(wèn)題是這些內(nèi)建服務(wù)器通常都不支持 HTTPS,那么我們來(lái)探討下開啟https吧
    2014-07-07
  • 使用 Celery Once 來(lái)防止 Celery 重復(fù)執(zhí)行同一個(gè)任務(wù)

    使用 Celery Once 來(lái)防止 Celery 重復(fù)執(zhí)行同一個(gè)任務(wù)

    這篇文章主要介紹了使用 Celery Once 來(lái)防止 Celery 重復(fù)執(zhí)行同一個(gè)任務(wù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • Python selenium環(huán)境搭建實(shí)現(xiàn)過(guò)程解析

    Python selenium環(huán)境搭建實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Python selenium環(huán)境搭建實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 在python的類中動(dòng)態(tài)添加屬性與生成對(duì)象

    在python的類中動(dòng)態(tài)添加屬性與生成對(duì)象

    這篇文章給大家介紹了如何在python的類中動(dòng)態(tài)添加屬性和生成對(duì)象,文中通過(guò)幾個(gè)方面來(lái)進(jìn)行介紹,對(duì)這感興趣的朋友們可以學(xué)習(xí)學(xué)習(xí)。
    2016-09-09
  • Python中的單繼承與多繼承實(shí)例分析

    Python中的單繼承與多繼承實(shí)例分析

    這篇文章主要介紹了Python中的單繼承與多繼承,結(jié)合實(shí)例詳細(xì)分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中單繼承與多繼承的概念、原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • 一篇文章學(xué)會(huì)兩種將python打包成exe的方式

    一篇文章學(xué)會(huì)兩種將python打包成exe的方式

    最近有部分小伙伴問(wèn)我,python 寫的項(xiàng)目可不可以打包成exe程序,放到?jīng)]有python環(huán)境上的電腦中執(zhí)行? 答案當(dāng)然是可以的,下面這篇文章主要給大家介紹了如何通過(guò)一篇文章學(xué)會(huì)兩種將pyton打包成exe的方式,需要的朋友可以參考下
    2021-11-11
  • 打包Python代碼的常用方法小結(jié)

    打包Python代碼的常用方法小結(jié)

    Python是一門強(qiáng)大的編程語(yǔ)言,但在將Python代碼分享給其他人時(shí),讓他們安裝Python解釋器并運(yùn)行腳本可能有點(diǎn)繁瑣,這時(shí),將Python代碼打包成可執(zhí)行的應(yīng)用程序(.exe)可以大大簡(jiǎn)化這個(gè)過(guò)程,本文將介紹幾種常用的方法,輕松地將Python代碼變成獨(dú)立的可執(zhí)行文件
    2023-11-11

最新評(píng)論