爬取靜態網頁

定製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秒)

相關文章
相關標籤/搜索