Requests庫安裝
pip install requests
注意:如果是在MAC的python3中安裝,使用pip3 install requests
Requests庫的方法
Request的基礎(chǔ)方法
Requests的get()方法
get方法是我們做為爬蟲最常用的使用方法
使用Requests模塊,在一開始要導(dǎo)入Requests模塊
import requests
然后獲取某個網(wǎng)頁
r = requests.get('http://www.baidu.com')
對響應(yīng)內(nèi)容進(jìn)行處理,requests.get()方法會返回一個Response對象r,我們可以根據(jù)該對象的一些屬性來獲取請求的結(jié)果
Requests會基于HTTP頭部對相應(yīng)的編碼做出有根據(jù)的猜測,當(dāng)訪問r.text的時候。Requests會使用其推測的文本編碼,你可以找出Requests 使用了什么編碼,并且能夠使用 r.encoding
屬性來改變它:
#r.encoding是推測的文本編碼
print(r.encoding)
ISO-8859-1
#r.apparent_encoding是分析響應(yīng)內(nèi)容的文本編碼
print(r.apparent_encoding)
utf-8
#可以通過改變r.encoding編碼的格式來獲取正確編碼的內(nèi)容r.text
r.encoding = r.apparent_encoding
如果想要查看請求是否獲得成功,r.status_code屬性可以獲取到請求狀態(tài)。200表示連接成功通過
Requests的head()方法
Requests的post()方法
post根據(jù)用戶提交數(shù)據(jù)的不同,會在服務(wù)器端做出相應(yīng)的處理
post方法是向數(shù)據(jù)庫提交一個字符串
post方法是向數(shù)據(jù)庫提交一個字典數(shù)據(jù)
Requests的request()方法
request方法為Requests庫的基礎(chǔ)方法,我們進(jìn)入Requests庫中查看,我們調(diào)用request.get()
方法其實是Requests庫為來方便我們使用提供的一種封裝方法。
request方法有三個參數(shù)
requests.request(method,url,**kwargs)
method:請求方式,對應(yīng)get/put/post等7中
** kwargs:控制訪問的參數(shù),共13個
1.params:字典或字節(jié)序列,作為參數(shù)增加到URL中
kv = {'key':'value','key2':'value2'}
r = requests.request('GET','http://www.baidu.com',params=kv)
print(r.url)
http://www.baidu.com/?key=value&key2=value2
2.data:字典、字節(jié)序或文件對象,作為Request的內(nèi)容,重點是作為向服務(wù)器提供或提交資源時使用
kv = {'key':'value','key2':'value2'}
r = requests.request('POST','http://www.baidu.com',data=kv)
body = '主體內(nèi)容'
r = requests.request('POST','http://www.baidu.com',data=body)
3.json:JSON格式的數(shù)據(jù),作為request的內(nèi)容
kv = {'key':'value'}
r = requests.request('POST','http://www.baidu.com',json=kv)
4.headers:字典,HTTP定制頭,可以模擬任意的瀏覽器信息向服務(wù)器發(fā)起訪問
hd = {'user-agent':'Chrome/10'}
r = requests.request('POST','http://www.baidu.com',headers=hd)
5.cookies:字典或CookieJar,Request中的cookie
6.auth:元祖,支持HTTP認(rèn)證功能
7.files:字典類型,傳輸文件,向某一個鏈接提供一個文件
fs = {'file':open('/Users/Desktop/Video/Python/5.Requests庫的主要方法解析.mp4','rb')}
r = requests.request('POST','http://www.baidu.com',files=fs)
8.timeout:設(shè)定超時時間,秒為單位
r = requests.request('GET','http://www.baidu.com',timeout=10)
9.proxies:字典類型,設(shè)定訪問代理服務(wù)器,可以增加登錄認(rèn)證
pxs = {'http':'http://user:pass@10.10.10.1:80',
'https':'https://10.10.10.1:8080'}
r = requests.request('GET','http://www.baidu.com',proxies=pxs)
10.allow_redirects: True/False,默認(rèn)為Ture,重定向開關(guān)
11.stream: True/False,默認(rèn)為Ture,獲取內(nèi)容是否立即下載
12.verify: True/False,默認(rèn)為Ture,認(rèn)證SSL證書開關(guān)
13.cert:本地SSL證書路徑
推薦閱讀
HTPP的協(xié)議與Requests庫方法的關(guān)系