1. 程式人生 > >爬取靜態網頁

爬取靜態網頁

sts 靜態網頁 數據 檢查 strong 超時 pan 頁面 quest

定制Requests 2019-04-06

一. 傳遞URL參數

    自己構建的url中, 數據一般會跟在一個問號後面, 並以鍵-值的形式放在url中.

    在Requests中, 我們可以把這些參數保存在字典中, 用params構建至url中.

    I.E:

      key_dict = {‘key1‘: ‘value1‘, ‘key2‘, ‘value2‘}

      r = requests.get(‘http://......‘, params=key_dict)

      print(r.url) # 返回編碼後的url

      上述代碼實現了 將key1=value1, key2=value2傳遞到網站的url請求中

二. 定制請求頭

  第一步, 查看網頁內置的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秒)

爬取靜態網頁