欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python爬蟲之Requests庫基本使用詳解

 更新時間:2023年09月14日 09:41:32   作者:萬里顧—程  
這篇文章主要介紹了Python爬蟲之Requests庫基本使用詳解,Requests 庫是在 urllib 模塊的基礎(chǔ)上開發(fā)而來,繼承了urllib.request的所有特性,與urllib.request 相比,Requests 在使用時更加簡潔方便、快捷,所以 Requests 庫在編寫爬蟲程序時使用較多,需要的朋友可以參考下

1、Requests簡介和下載

Requests 庫簡介

Requests 庫是在 urllib 模塊的基礎(chǔ)上開發(fā)而來,繼承了urllib.request的所有特性。

Requests 采用了 Apache2 Licensed(一種開源協(xié)議)的 HTTP 庫,支持HTTP連接保持和連接池,支持使用cookie保持會話,支持文件上傳,支持自動確定響應(yīng)內(nèi)容的編碼,支持國際化的URL和POST數(shù)據(jù)自動編碼。

與urllib.request 相比,Requests 在使用時更加簡潔方便、快捷,所以 Requests 庫在編寫爬蟲程序時使用較多。

官方文檔對 Requests 庫的介紹:比較生動形象

Requests 唯一的一個非轉(zhuǎn)基因的 Python HTTP 庫,人類可以安全享用。
警告:非專業(yè)使用其他 HTTP 庫會導(dǎo)致危險的副作用,包括:安全缺陷癥、冗余代碼癥、重新發(fā)明輪子癥、啃文檔癥、抑郁、頭疼、
甚至死亡。

requests中文文檔

Requests的下載安裝

1、requests庫安裝位置:Python安裝目錄的Scripts文件夾下

2、安裝命令:pip install requests-i https://pypi.douban.com/simple,如下圖則安裝成功:

在這里插入圖片描述

2、Requests 庫基本使用

Requests 響應(yīng)對象類型

這里分別使用 requests 和 urllib.request 向網(wǎng)站發(fā)起get請求,然后打印響應(yīng)對象的型:

# 導(dǎo)入模塊
import urllib.request
import requests
url = "https://www.baidu.com"
# requests 和 urllib.request 響應(yīng)對象類型對比
# equests 發(fā)送get請求
response_s = requests.get(url=url)
# 打印響應(yīng)對象:Response
print(type(response_s))
# urllib.request發(fā)送get請求
response = urllib.request.urlopen(url=url)
# 打印響應(yīng)對象:HTTPResponse
print(type(response))

執(zhí)行結(jié)果:可以看到,requests 的響應(yīng)對象類型就是 Response,而urllib.request 的響應(yīng)對象類型是 HTTPResponse

<class 'requests.models.Response'>
<class 'http.client.HTTPResponse'>

Requests 六個屬性

requests 的響應(yīng)對象類型是 Response,該Response對象具有以下幾個常用屬性:

常用屬性說明
encoding返回或者指定響應(yīng)對象的字符編碼
status_code返回響應(yīng)對象的HTTP響應(yīng)碼
url返回請求的 url 地址
headers返回請求頭信息
cookies返回 cookies 信息
text以字符串形式返回網(wǎng)頁源碼
content以二進制數(shù)據(jù)形式返回網(wǎng)頁源碼,在保存下載圖片時可以使用該屬性

Response對象屬性使用實例

代碼實例:

import urllib.request
import requests
url = "https://www.baidu.com"
response_s = requests.get(url=url)
# 打印響應(yīng)對象字符編碼
print(response_s.encoding)
# 指定響應(yīng)對象字符編碼為utf-8
response_s.encoding="utf-8"
# 打印狀態(tài)碼
print(response_s.status_code)
# 打印請求url
print(response_s.url)
# 打印頭信息
print(response_s.headers)
# 打印cookie信息
print(response_s.cookies)
# 以字符串形式打印網(wǎng)頁源碼
print(response_s.text)
# 以二進制數(shù)據(jù)形式打印網(wǎng)頁源碼
print(response_s.content)

執(zhí)行結(jié)果:(網(wǎng)頁源碼省略)

# 響應(yīng)對象字符編碼
ISO-8859-1
# 狀態(tài)碼
200
# url 地址
https://www.baidu.com/
# 響應(yīng)頭信息
{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Fri, 19 Aug 2022 01:27:47 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:23:55 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}
# cookie信息
<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>

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

相關(guān)文章

  • PyTorch使用cpu加載模型運算方式

    PyTorch使用cpu加載模型運算方式

    今天小編就為大家分享一篇PyTorch使用cpu加載模型運算方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python實現(xiàn)深度遍歷和廣度遍歷的方法

    Python實現(xiàn)深度遍歷和廣度遍歷的方法

    今天小編就為大家分享一篇Python實現(xiàn)深度遍歷和廣度遍歷的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python實現(xiàn)不一樣的猜數(shù)字游戲的示例代碼

    Python實現(xiàn)不一樣的猜數(shù)字游戲的示例代碼

    大家知道“猜數(shù)字”這個游戲嗎?顧名思義就是一個人想一個數(shù)字,另一個人猜。本文就來用Python實現(xiàn)一款不一樣的猜數(shù)字游戲,感興趣的可以了解一下
    2023-02-02
  • Python Pandas 獲取列匹配特定值的行的索引問題

    Python Pandas 獲取列匹配特定值的行的索引問題

    這篇文章主要介紹了Python Pandas 獲取列匹配特定值的行的索引問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Python實現(xiàn)設(shè)計模式之單例模式詳解

    Python實現(xiàn)設(shè)計模式之單例模式詳解

    這篇文章主要介紹了Python實現(xiàn)設(shè)計模式之單例模式詳解,設(shè)計模式是指軟件設(shè)計問題的推薦方案,設(shè)計模式一般是描述如何組織代碼和使用最佳實踐來解決常見的設(shè)計問題,需謹(jǐn)記一點:設(shè)計模式是高層次的方案,并不關(guān)注具體的實現(xiàn)細(xì)節(jié),比如算法和數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2023-09-09
  • 詳解Python中的strftime()方法的使用

    詳解Python中的strftime()方法的使用

    這篇文章主要介紹了詳解Python中的strftime()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • java中的控制結(jié)構(gòu)(if,循環(huán))詳解

    java中的控制結(jié)構(gòu)(if,循環(huán))詳解

    這篇文章簡單地介紹了java中的控制結(jié)構(gòu)(if,循環(huán))文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,下面我們來學(xué)習(xí)下吧
    2019-06-06
  • PyCharm如何設(shè)置Console控制臺輸出自動換行

    PyCharm如何設(shè)置Console控制臺輸出自動換行

    這篇文章主要介紹了PyCharm如何設(shè)置Console控制臺輸出自動換行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 利用Python制作動態(tài)排名圖的實現(xiàn)代碼

    利用Python制作動態(tài)排名圖的實現(xiàn)代碼

    這篇文章主要介紹了利用Python制作動態(tài)排名圖的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • python入門課程第四講之內(nèi)置數(shù)據(jù)類型有哪些

    python入門課程第四講之內(nèi)置數(shù)據(jù)類型有哪些

    這篇文章主要介紹了python入門課程第四講之內(nèi)置數(shù)據(jù)類型有哪些?本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論