Python爬蟲準備:認識urllib/urllib2與requests
首先說明一下我的爬蟲環境是基於的, 為什麼用這個版本呢,因為的版本支持的多,而且一般會使用環境,基本在也沒有太大問題,好了,進入正題!
urllib 與 urllib2
與2是內置的,要實現請求,以為主,為輔.
** 構建一個請求與響應模型**
這樣就獲取了整個網頁內容.
說明
Get與Post傳送數據
post與get傳送數據是兩個比較常用的數據傳送方式,一般只需要掌握這兩種方式就可以了.
Get方式傳送數據
post數據傳送方式
兩種請求方式差異點:
與方式的數據傳輸時注意這裡面的數據傳輸
注意處理請求的headers
很多時候我們伺服器會檢驗請求是否來自於瀏覽器,所以我們需要在請求的頭部偽裝成瀏覽器來請求伺服器.一般做請求的時候,最好都要偽裝成瀏覽器,防止出現拒絕訪問等錯誤,這也是一種反爬蟲的一種策略
在瀏覽器上打開然後按F12,查看:
User-Agent : 有些伺服器或 Proxy 會通過該值來判斷是否是瀏覽器發出的請求
Content-Type : 在使用 REST 介面時,伺服器會檢查該值,用來確定 HTTP Body 中的內容該怎樣解析。
application/xml : 在 XML RPC,如 RESTful/SOAP 調用時使用
application/json : 在 JSON RPC 調用時使用
application/x-www-form-urlencoded : 瀏覽器提交 Web 表單時使用
在使用伺服器提供的 RESTful 或 SOAP 服務時, Content-Type 設置錯誤會導致伺服器拒絕服務
requests
是Python最為常用的請求庫,也是極其簡單的.使用的時候,首先需要對進行安裝,直接使用Pycharm進行一鍵安裝。
1.響應與編碼
2.Get請求方式
3.Post請求方式
4.請求頭headers處理
5.響應碼code與響應頭headers處理
6.cookie處理
7重定向與歷史消息
處理重定向只是需要設置一下欄位即可,將設置為則是允許重定向的,設置為則禁止重定向的
8.超時設置
超時選項是通過參數來設置的
9.代理設置
TAG:Python |