Python?網(wǎng)頁(yè)請(qǐng)求之requests庫(kù)的使用詳解
1.requests庫(kù)簡(jiǎn)介
requests 是 Python 中比較常用的網(wǎng)頁(yè)請(qǐng)求庫(kù),主要用來(lái)發(fā)送 HTTP 請(qǐng)求,在使用爬蟲或測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到,使用起來(lái)十分簡(jiǎn)潔。
requests 為第三方庫(kù),需要我們通過(guò)
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)過(guò)的時(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)文章
jupyter notebook 使用過(guò)程中python莫名崩潰的原因及解決方式
這篇文章主要介紹了jupyter notebook 使用過(guò)程中python莫名崩潰的原因及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
使用python解析xml成對(duì)應(yīng)的html示例分享
這篇文章主要介紹了使用python解析xml成對(duì)應(yīng)的html示例,需要的朋友可以參考下2014-04-04
Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法
這篇文章主要介紹了Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法,涉及Python針對(duì)文件與目錄的遍歷、判斷、修改、復(fù)制及文件屬性的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
PyTorch的張量tensor和自動(dòng)求導(dǎo)autograd詳解
這篇文章主要介紹了PyTorch的張量tensor和自動(dòng)求導(dǎo)autograd,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

