Python?網(wǎng)頁請求之requests庫的使用詳解
1.requests庫簡介
requests 是 Python 中比較常用的網(wǎng)頁請求庫,主要用來發(fā)送 HTTP 請求,在使用爬蟲或測試服務器響應數(shù)據(jù)時經(jīng)常會用到,使用起來十分簡潔。
requests 為第三方庫,需要我們通過
pip命令安裝:
pip install requests
2.requests庫方法介紹
下表列出了requests庫中的各種請求方法:
| 方法 | 描述 |
|---|---|
| delete(url, args) | 發(fā)送 DELETE 請求到指定 url |
| get(url, params, args) | 發(fā)送 GET 請求到指定 url |
| head(url, args) | 發(fā)送 HEAD 請求到指定 url |
| patch(url, data, args) | 發(fā)送 PATCH 請求到指定 url |
| post(url, data, json, args) | 發(fā)送 POST 請求到指定 url |
| put(url, data, args) | 發(fā)送 PUT 請求到指定 url |
| request(method, url, args) | 發(fā)送指定的請求方到指定 url |
每次調(diào)用
requests請求之后,會返回一個response對象,該對象包含了具體的響應信息。
response對象具有以下屬性:
| 屬性 | 描述 |
|---|---|
| apparent_encoding | 編碼方式 |
| content | 返回響應的內(nèi)容,以字節(jié)為單位 |
| cookies | 返回一個 CookieJar 對象,包含了從服務器發(fā)回的 cookie |
| elapsed | 返回一個 timedelta 對象,包含了從發(fā)送請求到響應到達之間經(jīng)過的時間量,可以用于測試響應速度。 比如 r.elapsed.microseconds 表示響應到達需要多少微秒。 |
| encoding | 解碼 r.text 的編碼方式 |
| headers | 返回響應頭,字典格式 |
| history | 返回包含請求歷史的響應對象列表(url) |
| is_permanent_redirect | 如果響應是永久重定向的 url,則返回 True,否則返回 False |
| is_redirect | 如果響應被重定向,則返回 True,否則返回 False |
| links | 返回響應的解析頭鏈接 |
| next | 返回重定向鏈中下一個請求的 PreparedRequest 對象 |
| ok | 檢查 “status_code” 的值,如果小于400,則返回 True,如果不小于 400,則返回 False |
| reason | 響應狀態(tài)的描述,比如 “Not Found” 或 “OK” |
| request | 返回請求此響應的請求對象 |
| status_code | 返回 http 的狀態(tài)碼,比如 404 和 200(200 是 OK,404 是 Not Found) |
| text | 返回響應的內(nèi)容,unicode 類型數(shù)據(jù) |
| url | 返回響應的 URL |
response對象還具有一些方法:
| 方法 | 描述 |
|---|---|
| close() | 關(guān)閉與服務器的連接 |
| iter_content() | 迭代響應 |
| iter_lines() | 迭代響應的行 |
| json() | 返回結(jié)果的 JSON 對象 (結(jié)果需要以 JSON 格式編寫的,否則會引發(fā)錯誤) |
| raise_for_status() | 如果發(fā)生錯誤,方法返回一個 HTTPError 對象 |
有了這些我們就可以自由的發(fā)送頁面請求了。
3.代碼實例
下面這段代碼使用 GET 請求獲取了CSDN首頁的網(wǎng)頁內(nèi)容:
import requests
x = requests.get('https://www.csdn.net/')
print(x.text)
可以查看
response對象的各種響應信息:
import requests
x = requests.get('https://www.csdn.net/')
print(x.reason)
print(x.status_code)
print(x.apparent_encoding)
學會了網(wǎng)頁請求,我們很快就可以進行爬蟲了。
到此這篇關(guān)于Python 網(wǎng)頁請求之requests庫的使用詳解的文章就介紹到這了,更多相關(guān)Python requests庫使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jupyter notebook 使用過程中python莫名崩潰的原因及解決方式
這篇文章主要介紹了jupyter notebook 使用過程中python莫名崩潰的原因及解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
PyTorch的張量tensor和自動求導autograd詳解
這篇文章主要介紹了PyTorch的張量tensor和自動求導autograd,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

