[Python3網絡爬蟲開發實戰] 3-基本庫的使用 1-使用urllib

學習爬蟲,最初的操做即是模擬瀏覽器向服務器發出請求,那麼咱們須要從哪一個地方作起呢?請求須要咱們本身來構造嗎?須要關心請求這個數據結構的實現嗎?須要瞭解HTTP、TCP、IP層的網絡傳輸通訊嗎?須要知道服務器的響應和應答原理嗎?html

可能你不知道無從下手,不過不用擔憂,Python的強大之處就是提供了功能齊全的類庫來幫助咱們完成這些請求。最基礎的HTTP庫有urllib、httplib二、requests、treq等。python

拿urllib這個庫來講,有了它,咱們只須要關心請求的連接是什麼,須要傳的參數是什麼以及可選的請求頭設置就行了,不用深刻到底層去了解它究竟是怎樣傳輸和通訊的。有了它,兩行代碼就能夠完成一個請求和響應的處理過程,獲得網頁內容,是否是感受方便極了?瀏覽器

接下來,就讓咱們從最基礎的部分開始瞭解這些庫的使用方法吧。服務器

在Python 2中,有urllib和urllib2兩個庫來實現請求的發送。而在Python 3中,已經不存在urllib2這個庫了,統一爲urllib,其官方文檔連接爲:docs.python.org/3/library/u…微信

首先,瞭解一下urllib庫,它是Python內置的HTTP請求庫,也就是說不須要額外安裝便可使用。它包含以下4個模塊。網絡

  • request:它是最基本的HTTP請求模塊,能夠用來模擬發送請求。就像在瀏覽器裏輸入網址而後回車同樣,只須要給庫方法傳入URL以及額外的參數,就能夠模擬實現這個過程了。
  • error:異常處理模塊,若是出現請求錯誤,咱們能夠捕獲這些異常,而後進行重試或其餘操做以保證程序不會意外終止。
  • parse:一個工具模塊,提供了許多URL處理方法,好比拆分、解析、合併等。
  • robotparser:主要是用來識別網站的robots.txt文件,而後判斷哪些網站能夠爬,哪些網站不能夠爬,它其實用得比較少。

這裏重點講解一下前3個模塊。數據結構


本資源首發於崔慶才的我的博客靜覓: Python3網絡爬蟲開發實戰教程 | 靜覓工具

如想了解更多爬蟲資訊,請關注個人我的微信公衆號:進擊的Coder學習

weixin.qq.com/r/5zsjOyvEZ… (二維碼自動識別)網站

相關文章
相關標籤/搜索