雖然python的標準庫中 urllib模組已經包含了平常我們使用的大多數功能,但是它的 api 使用起來讓人感覺不太好,而 requests宣傳是 「http for humans」,說明使用更簡潔方便。
利用pip
可以非常方便的安裝:
pip install requests
中文文件:
最簡單的傳送get
請求就是通過requests.get
來呼叫:
response = requests.get("")
新增headers和查詢引數:
如果想新增 headers,可以傳入headers引數來增加請求頭中的headers資訊。如果要將引數放在url中傳遞,可以利用 params 引數。相關示例**如下:
import requests
kw =
# params 接收乙個字典或者字串的查詢引數,字典型別自動轉換為url編碼,不需要urlencode()
response = requests.get("s", params = kw, headers = headers)
# 檢視響應內容,response.text 返回的是unicode格式的資料
print(response.text)
# 檢視響應內容,response.content返回的位元組流資料
print(response.content)
# 檢視完整url位址
print(response.url)
# 檢視響應頭部字元編碼
print(response.encoding)
# 檢視響應碼
print(response.status_code)
最基本的post請求可以使用post
方法:
response = requests.post("",data=data)
傳入data資料:
這時候就不要再使用urlencode
進行編碼了,直接傳入乙個字典進去就可以了。比如請求拉勾網的資料的**:
import requests
url = ""
headers =
data =
resp = requests.post(url,headers=headers,data=data)
# 如果是json資料,直接可以呼叫json方法
print(resp.json())
使用requests
新增**也非常簡單,只要在請求的方法中(比如get
或者post
)傳遞proxies
引數就可以了。示例**如下:
import requests
url = ""
headers =
proxy =
resp = requests.get(url,headers=headers,proxies=proxy)
with open('xx.html','w',encoding='utf-8') as fp:
fp.write(resp.text)
如果在乙個響應中包含了cookie
,那麼可以利用cookies
屬性拿到這個返回的cookie
值:
import requests
url = ""
data =
resp = requests.get('')
print(resp.cookies)
print(resp.cookies.get_dict())
之前使用urllib
庫,是可以使用opener
傳送多個請求,多個請求之間是可以共享cookie
的。那麼如果使用requests
,也要達到共享cookie
的目的,那麼可以使用requests
庫給我們提供的session
物件。注意,這裡的session
不是web開發中的那個session,這個地方只是乙個會話的物件而已。還是以登入人人網為例,使用requests
來實現。示例**如下:
import requests
url = ""
data =
headers =
# 登入
session = requests.session()
session.post(url,data=data,headers=headers)
# 訪問大鵬個人中心
resp = session.get('')
print(resp.text)
對於那些已經被信任的ssl整數的**,比如
,那麼使用requests
直接就可以正常的返回響應。示例**如下:
resp = requests.get('',verify=false)
print(resp.content.decode('utf-8'))
Python爬蟲 模擬瀏覽器訪問 Requests
有時候爬蟲需要加入請求頭來偽裝成瀏覽器,以便更好的抓取資料.開啟瀏覽器chrome找到user agent進行複製 headers headers get方法新增請求頭 print res.text 執行結果 requests庫不僅有get 方法,還有post 等方法.post 方法用於提交表單來爬...
python網路請求 python之網路請求
get 請求 1 有請求引數的型別 鍵值對形式表示引數 url data 引數 res requests.get url,data text 轉成str型別 print res 2 有請求頭 鍵值對形式表示請求頭 url header res requests.get url,headers hea...
Python爬蟲 網路請求 urllib
簡單的請求from urllib.request import urlopen 發起網路請求 response urlopen assert response.code 200print 請求成功 儲存請求的網頁 file變數接受open 函式返回的物件的 enter 返回結果 with open ...