Python?網(wǎng)頁(yè)請(qǐng)求之requests庫(kù)的使用詳解
1.requests庫(kù)簡(jiǎn)介
requests 是 Python 中比較常用的網(wǎng)頁(yè)請(qǐng)求庫(kù),主要用來發(fā)送 HTTP 請(qǐng)求,在使用爬蟲或測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到,使用起來十分簡(jiǎn)潔。
requests 為第三方庫(kù),需要我們通過
pip
命令安裝:
pip install requests
2.requests庫(kù)方法介紹
下表列出了requests庫(kù)中的各種請(qǐng)求方法:
方法 | 描述 |
---|---|
delete(url, args) | 發(fā)送 DELETE 請(qǐng)求到指定 url |
get(url, params, args) | 發(fā)送 GET 請(qǐng)求到指定 url |
head(url, args) | 發(fā)送 HEAD 請(qǐng)求到指定 url |
patch(url, data, args) | 發(fā)送 PATCH 請(qǐng)求到指定 url |
post(url, data, json, args) | 發(fā)送 POST 請(qǐng)求到指定 url |
put(url, data, args) | 發(fā)送 PUT 請(qǐng)求到指定 url |
request(method, url, args) | 發(fā)送指定的請(qǐng)求方到指定 url |
每次調(diào)用
requests
請(qǐng)求之后,會(huì)返回一個(gè)response
對(duì)象,該對(duì)象包含了具體的響應(yīng)信息。
response
對(duì)象具有以下屬性:
屬性 | 描述 |
---|---|
apparent_encoding | 編碼方式 |
content | 返回響應(yīng)的內(nèi)容,以字節(jié)為單位 |
cookies | 返回一個(gè) CookieJar 對(duì)象,包含了從服務(wù)器發(fā)回的 cookie |
elapsed | 返回一個(gè) timedelta 對(duì)象,包含了從發(fā)送請(qǐng)求到響應(yīng)到達(dá)之間經(jīng)過的時(shí)間量,可以用于測(cè)試響應(yīng)速度。 比如 r.elapsed.microseconds 表示響應(yīng)到達(dá)需要多少微秒。 |
encoding | 解碼 r.text 的編碼方式 |
headers | 返回響應(yīng)頭,字典格式 |
history | 返回包含請(qǐng)求歷史的響應(yīng)對(duì)象列表(url) |
is_permanent_redirect | 如果響應(yīng)是永久重定向的 url,則返回 True,否則返回 False |
is_redirect | 如果響應(yīng)被重定向,則返回 True,否則返回 False |
links | 返回響應(yīng)的解析頭鏈接 |
next | 返回重定向鏈中下一個(gè)請(qǐng)求的 PreparedRequest 對(duì)象 |
ok | 檢查 “status_code” 的值,如果小于400,則返回 True,如果不小于 400,則返回 False |
reason | 響應(yīng)狀態(tài)的描述,比如 “Not Found” 或 “OK” |
request | 返回請(qǐng)求此響應(yīng)的請(qǐng)求對(duì)象 |
status_code | 返回 http 的狀態(tài)碼,比如 404 和 200(200 是 OK,404 是 Not Found) |
text | 返回響應(yīng)的內(nèi)容,unicode 類型數(shù)據(jù) |
url | 返回響應(yīng)的 URL |
response
對(duì)象還具有一些方法:
方法 | 描述 |
---|---|
close() | 關(guān)閉與服務(wù)器的連接 |
iter_content() | 迭代響應(yīng) |
iter_lines() | 迭代響應(yīng)的行 |
json() | 返回結(jié)果的 JSON 對(duì)象 (結(jié)果需要以 JSON 格式編寫的,否則會(huì)引發(fā)錯(cuò)誤) |
raise_for_status() | 如果發(fā)生錯(cuò)誤,方法返回一個(gè) HTTPError 對(duì)象 |
有了這些我們就可以自由的發(fā)送頁(yè)面請(qǐng)求了。
3.代碼實(shí)例
下面這段代碼使用 GET 請(qǐng)求獲取了CSDN首頁(yè)的網(wǎng)頁(yè)內(nèi)容:
import requests x = requests.get('https://www.csdn.net/') print(x.text)
可以查看
response
對(duì)象的各種響應(yīng)信息:
import requests x = requests.get('https://www.csdn.net/') print(x.reason) print(x.status_code) print(x.apparent_encoding)
學(xué)會(huì)了網(wǎng)頁(yè)請(qǐng)求,我們很快就可以進(jìn)行爬蟲了。
到此這篇關(guān)于Python 網(wǎng)頁(yè)請(qǐng)求之requests庫(kù)的使用詳解的文章就介紹到這了,更多相關(guān)Python requests庫(kù)使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用PySpark實(shí)現(xiàn)數(shù)據(jù)清洗與JSON格式轉(zhuǎn)換的實(shí)踐詳解
在大數(shù)據(jù)處理中,PySpark?提供了強(qiáng)大的工具來處理海量數(shù)據(jù),特別是在數(shù)據(jù)清洗和轉(zhuǎn)換方面,本文將介紹如何使用?PySpark?進(jìn)行數(shù)據(jù)清洗,并將數(shù)據(jù)格式轉(zhuǎn)換為?JSON?格式的實(shí)踐,感興趣的可以了解下2023-12-12python實(shí)現(xiàn)切割url得到域名、協(xié)議、主機(jī)名等各個(gè)字段的例子
今天小編就為大家分享一篇python實(shí)現(xiàn)切割url得到域名、協(xié)議、主機(jī)名等各個(gè)字段的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python實(shí)現(xiàn)扣除個(gè)人稅后的工資計(jì)算器示例
這篇文章主要介紹了Python實(shí)現(xiàn)扣除個(gè)人稅后的工資計(jì)算器,涉及Python流程控制與數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-03-03詳解如何使用Python處理INI、YAML和JSON配置文件
在軟件開發(fā)中,配置文件是存儲(chǔ)程序配置信息的常見方式,INI、YAML和JSON是常用的配置文件格式,各自有著特定的結(jié)構(gòu)和用途,Python擁有豐富的庫(kù)和模塊,本文將重點(diǎn)探討如何使用Python處理這三種格式的配置文件,需要的朋友可以參考下2023-12-12Django模型層實(shí)現(xiàn)多表關(guān)系創(chuàng)建和多表操作
使用django ORM可以創(chuàng)建多表關(guān)系,并且也支持多張表之間的操作,以創(chuàng)建表關(guān)系和查詢兩部分說明django ORM的多表操作,本文就詳細(xì)的介紹一下,感興趣的可以了解一下2021-07-07python實(shí)現(xiàn)隨機(jī)密碼字典生成器示例
這篇文章主要介紹了python實(shí)現(xiàn)隨機(jī)密碼字典生成器示例,需要的朋友可以參考下2014-04-04