爬蟲筆記1 Requests庫的基本方法

2021-09-09 08:29:41 字數 2962 閱讀 3855

目標:掌握定向網路資料爬取和網頁解析的基本能力

課程設定.png

◆1◆ requests庫的7種主要方法

方法說明

requests.request()構造乙個請求,支撐以下各方法的基礎方法

requests.get()獲取html網頁的主要方法,對應於http的get

requests.head()獲取html網頁頭資訊的方法,對應於http的head

requests.post()向html網頁提交post請求,對應於http的post

requests.put()向html網頁提交put請求,對用於http的put

requests.patch()向html網頁提交區域性修改請求,對應於http的patch

requests.delete()向html網頁提交刪除請求,對應於http的delete

◆ requests.get()方法

r = requests.get(url)

構造乙個向伺服器請求的request(大寫)物件,返回乙個包含伺服器資源的response(大寫)物件,用變數r表示。

其完整使用方法為:

requests.get(url,params=none,**kwargs)

params:url中的額外引數,字典或位元組流格式,可選

**kwargs:12個控制訪問的引數

import requests

r = requests.get('')

print(r.status_code) # 狀態碼,200表示訪問正常

print(type(r)) # 可以看到response為乙個類

print(r.headers) # 獲取頭部資訊

輸出:

200

>>> r = requests.request('get', '', params = kv)

>>> print(r.url)

在給定的url中後面多了乙個問號,問號後面key1=value1,&key2=value2。通過parame引數,我們可以把一些鍵值對增加到url中,然後再去訪問,伺服器根據這些引數篩選部分資源返回。

引數2 data

data,它可以是字典、位元組序列或檔案物件,作為向伺服器提供或提交資源時使用。

引數3 json

json格式是http協議使用的最經常使用的資料格式,作為內容部分可以向伺服器提交,比如說用字典構造乙個鍵值對,可以把它複製給json引數,那麼這個鍵值對就複製到伺服器的json裡面。

>>> kv = 

>>> r = requests.request('post', '', json= kv)

引數4 headers
>>> hd = 

>>> r = requests.request('post', '', headers = hd)

把user-agent變為chrome/10,那麼在訪問某乙個鏈結時,我們可以把這樣的字段賦給headers,此時headers再去向伺服器訪問時伺服器看到的user-agent欄位就是chrome/10

引數5 cookies 和 auth

cookies和auth都是requests庫的高階功能。

cookies指的是從http協議中解析cookie, 它可以是字典,也可以是cookiejar形式。

auth欄位是乙個元組型別,它是支援http認證功能的

引數6 files

顧名思義,它是向伺服器傳輸檔案時使用的字段。我們可以定義乙個字典,用file,以對應的檔案為鍵值對,用open的方式開啟這個檔案,並把這個檔案與files做乙個關聯,同時對應到相關的url上。通過這樣的方法,我們可以向某乙個鏈結提交某乙個檔案,這個在特定應用時還是非常有用的。

>>> fs = 

>>> r = requests.request('post', '', files= fs)

>>>

引數7 timeouttimeout設定的超時時間,以秒為單位。當我們發起乙個get請求時,我們可以設乙個timeout時間,如果在timeout時間內,我們的請求內容沒有反饋回來,那麼它將產生乙個timeout的異常。

>>> r = requests.request('post', '', timeout= 10)

>>>

引數8 proxies
>>> pxs = 

>>> r.text

''

通過requests.head()方法可以較少流量獲取網頁資源的概要資訊。

◆2◆ http協議對資源的操作

http協議對資源的操作

http(hypertext transfer protocol)指的是超文字傳輸協議。超文字傳輸協議是一種基於請求與響應模式的無狀態的應用層協議。

應用層協議:指的是該協議工作在tcp協議之上

爬蟲筆記 Requests

requests庫是能夠處理獲取url 鏈結 中的資訊的乙個第三方庫 一 requests安裝 windows進入cmd命令列 pip install requests 我們可以開啟idle來檢視是否成功的安裝。沒有提示錯誤資訊表示我們已經成功地安裝好了requests庫 二 requests下的主...

requests庫入門筆記1

1.使用requests庫傳送請求,fiddler無法抓到包 使用瀏覽器請求相同的url,可以抓到包 2.列印get post請求的返回值 3.返回值列印漂亮 4.請求方法對應的引數 引數說明 getpost putdelete url有有有 有params 如果傳入的是字段。自動編碼為表單 字串 ...

爬蟲入門 Requests庫

首先用管理員許可權開啟cmd命令列,然後直接輸入 pip install requests,即可安裝成功 需要聯網 方法 作用requests.request 構造乙個請求,它是支撐以下方法的基礎方法 requests.get 獲取html網頁的主要方法,請求獲取url位置的資源 requests....