Urllib庫是Python中的一個功能強大、用于操作URL,并在做爬蟲的時候經(jīng)常要用到的庫。在Python2.x中,分為Urllib庫和Urllin2庫,Python3.x之后都合并到Urllib庫中,使用方法稍有不同。本文介紹的是Python3中的urllib庫。
什么是Urllib庫
Urllib是Python提供的一個用于操作URL的模塊,我們爬取網(wǎng)頁的時候,經(jīng)常需要用到這個庫。
升級合并后,模塊中的包的位置變化的地方較多。在此,列舉一些常見的位置變動,方便之前用Python2.x的朋友在使用Python3.x的時候可以快速掌握。
常見的變化有:
在Pytho2.x中使用import urllib2——-對應(yīng)的,在Python3.x中會使用import urllib.request,urllib.error。
在Pytho2.x中使用import urllib——-對應(yīng)的,在Python3.x中會使用import urllib.request,urllib.error,urllib.parse。
在Pytho2.x中使用import urlparse——-對應(yīng)的,在Python3.x中會使用import urllib.parse。
在Pytho2.x中使用import urlopen——-對應(yīng)的,在Python3.x中會使用import urllib.request.urlopen。
在Pytho2.x中使用import urlencode——-對應(yīng)的,在Python3.x中會使用import urllib.parse.urlencode。
在Pytho2.x中使用import urllib.quote——-對應(yīng)的,在Python3.x中會使用import urllib.request.quote。
在Pytho2.x中使用cookielib.CookieJar——-對應(yīng)的,在Python3.x中會使用http.CookieJar。
在Pytho2.x中使用urllib2.Request——-對應(yīng)的,在Python3.x中會使用urllib.request.Request。
快速使用Urllib爬取網(wǎng)頁
以上我們對Urllib庫做了簡單的介紹,接下來講解如何使用Urllib快速爬取一個網(wǎng)頁。
首先需要導入用到的模塊:urllib.request
import urllib.request
在導入了模塊之后,我們需要使用urllib.request.urlopen打開并爬取一個網(wǎng)頁,此時,可以輸入如下代碼爬取百度首頁(www.baidu.com),爬取后,將爬取的網(wǎng)頁賦給了變量file:
file=urllib.request.urlopen('www.baidu.com')