爬蟲所需要的功能,基本上在urllib中都能找到,學習這個標準庫,可以更加深入的理解后面更加便利的requests庫。
首先
在Pytho2.x中使用import urllib2——-對應的,在Python3.x中會使用import urllib.request,urllib.error
在Pytho2.x中使用import urllib——-對應的,在Python3.x中會使用import urllib.request,urllib.error,urllib.parse
在Pytho2.x中使用import urlparse——-對應的,在Python3.x中會使用import urllib.parse
在Pytho2.x中使用import urlopen——-對應的,在Python3.x中會使用import urllib.request.urlopen
在Pytho2.x中使用import urlencode——-對應的,在Python3.x中會使用import urllib.parse.urlencode
在Pytho2.x中使用import urllib.quote——-對應的,在Python3.x中會使用import urllib.request.quote
在Pytho2.x中使用cookielib.CookieJar——-對應的,在Python3.x中會使用http.CookieJar
在Pytho2.x中使用urllib2.Request——-對應的,在Python3.x中會使用urllib.request.Request
urllib是Python自帶的標準庫,無需安裝,直接可以用。
urllib模塊提供了如下功能:
urlopen一般常用的有三個參數,它的參數如下:
r = urllib.requeset.urlopen(url,data,timeout)
url:鏈接格式:協議://主機名:[端口]/路徑
data:附加參數 必須是字節流編碼格式的內容(bytes類型),可通過bytes()函數轉化,如果要傳遞這個參數,請求方式就不再是GET方式請求,而是POST方式
timeout: 超時 單位為秒
import urllib r = urllib.urlopen('//www.jb51.net/') datatLine = r.readline() #讀取html頁面的第一行 data=file.read() #讀取全部 f=open("./1.html","wb") # 網頁保存在本地 f.write(data) f.close()
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。