0.檔案上傳
importrequests
files =
response = requests.post("
", files=files)
print(response.text)
1.獲取cookies
importrequests
response = requests.get("
(response.cookies)
for key, value in
response.cookies.items():
print(key + '
=' + value)
2.會話維持
importrequests
requests.get(
'')response = requests.get('
')print(response.text)
*可以通過對這個**設定個cookies
輸出結果如下:
}
為空?!因為兩次get請求,實際上相當於你用兩個瀏覽器開啟了不同的網頁。用session()方法試試?
importrequests
s =requests.session()
s.get(
'')response = s.get('
')print(response.text)
輸出結果如下:
}
* 用session()我們實現了維持會話登陸模擬登陸(即用於模擬在乙個瀏覽器中開啟同一站點的不同頁面)
3.證書驗證
importrequests
response = requests.get('
(response.status_code)
# 提示出現sslerror表示證書驗證錯誤
#######################
#去除警告
import
requests
from requests.packages import
urllib3
urllib3.disable_warnings()
response = requests.get('
', verify=false)
(response.status_code)
#######################
#指定乙個本地證書用作客戶端
證書import
requests
response = requests.get('
', cert=('
/path/server.crt
', '
/path/key'))
print(respo
nse.status_code)
4.**設定
#無密碼的
import
requests
proxies =
response = requests.get("
", proxies=proxies)
(response.status_code)
##############################
#有密碼的
import
requests
proxies =
response = requests.get("
", proxies=proxies)
(response.status_code)
##############################
#**不支援http,支援sockes
#pip3 install 'requests[socks]'
import
requests
proxies =
response = requests.get("
", proxies=proxies)
print(response.status_code)
5.超時設定
importrequests
from requests.exceptions import
readtimeout
try:
response = requests.get("
", timeout = 0.5)
(response.status_code)
except
readtimeout:
print('
timeout
')
*timeout = (5,30) 5是連線超時時間 30是讀取超時時間
*timeout = 35 35是連線和讀取兩者之和
*timeout = none 或者我不設定 代表永久等待
6.認證設定
))#還可以像下面這樣寫 簡單些(預設使用httpbasicauth這個類來認證 當然這個**訪問不了的)
#r = requests.get('', auth=('user', '123'))
print(r.status_code)
7.異常處理
importrequests
from requests import
readtimeout, connectionerror, requestexception
try:
response = requests.get("
", timeout = 0.5)
(response.status_code)
except
readtimeout:
print('
timeout')
except
connectionerror:
print('
connection error')
except
requestexception:
print('
error
')
*可以去requests庫的官方文件,找到api,再看裡面的異常!!
8.prepared request
*在urllib裡,可以將請求表示為資料結構,其餘各個引數都可以通過乙個request物件來表示.
*在requests裡,用prepared request同樣可以做到!
from requests importrequest,session
url = "
..."
data =
headers =
s =session()
req = request('
post
',url,data = data,headers =headers)
prepped =s.prepare_request(req)
r =s.send(prepped)
print(r.text)
*在這裡,我們引入request,然後用url、data、headers引數構造了乙個requests物件,這時候呼叫session的prepare_request()方法將其轉換為乙個prepared request物件,然後再呼叫send方法傳送即可。
*有了這個requests物件,就可以將請求當作獨立的物件來看待,這樣在進行佇列排程時會非常方便。
爬蟲入門 Requests庫
首先用管理員許可權開啟cmd命令列,然後直接輸入 pip install requests,即可安裝成功 需要聯網 方法 作用requests.request 構造乙個請求,它是支撐以下方法的基礎方法 requests.get 獲取html網頁的主要方法,請求獲取url位置的資源 requests....
資料爬蟲 requests庫
import requests response requests.get 模擬瀏覽器,欺騙瀏覽器,獲取和瀏覽器一致的內容。url headers requests.get url,headers headers url問號後面的就是請求引數,也叫查詢字串。kw response requests....
爬蟲之Requests庫
處理cookie 雖然python的標準庫中urllib模組已經包含我們平常使用的大多數功能,但是它的api使用起來讓人感覺不太好,而requests使用起來更加方便 利用pip 可以非常方便安裝 pip install requests最簡單的傳送get請求的方式就是通過requests.get呼...