定製Requests 2019-04-06安全
一. 傳遞URL參數服務器
本身構建的url中, 數據通常會跟在一個問號後面, 並以鍵-值的形式放在url中.網站
在Requests中, 咱們能夠把這些參數保存在字典中, 用params構建至url中.編碼
I.E: url
key_dict = {'key1': 'value1', 'key2', 'value2'}spa
r = requests.get('http://......', params=key_dict)資源
print(r.url) # 返回編碼後的urlget
上述代碼實現了 將key1=value1, key2=value2傳遞到網站的url請求中requests
二. 定製請求頭表單
第一步, 查看網頁內置的Header
在網頁上右擊, 打開"元素審查"或"檢查"選項, 在打開的頁面中選擇Network選項, 在左側資源中找到須要請求的網頁, 隨後打開的窗口中的Header選項中查看
Requests Header的詳細信息.
第二步, 根據查找到的信息編寫 本身的請求頭.其中需包括[user-agent] [Host]參數.
三. 發送Post請求
發送一些編碼爲表單形式的數據( 由於若是用Get請求, 數據就會顯示在url中, 這是不安全的), 只須要傳入一個字典類型給Requests的[data]參數
四.設置超時
防止遇到服務器長時間不響應 致使爬蟲一直處在等待狀態, 用Requests的[timeout]參數設置超時,
I.E: r = requests.get(link, timeout= 0.001) # 0.001秒內無響應則拋出異常(通常設置爲20秒)