教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

一招教你快速使用urllib爬取網(wǎng)頁!

更新時(shí)間:2022年04月22日11時(shí)50分 來源:傳智教育 瀏覽次數(shù):

什么是urllib?

urllib庫是Python內(nèi)置的HTTP請求庫,它可以看做是處理URL的組件集合。urllib庫包含了四大模塊,具體如下:

  • urllib.request:請求模塊
  • urllib.error:異常處理模塊
  • urllib.parse:URL解析模塊
  • urllib.robotparser:robots.txt解析模塊

快速使用urllib爬取網(wǎng)頁

爬取網(wǎng)頁,其實(shí)就是通過URL獲取網(wǎng)頁信息,這段網(wǎng)頁信息的實(shí)質(zhì)就是一段附加了JS和CSS的HTML代碼。如果把網(wǎng)頁比作是一個(gè)人,那么HTML就是它的骨架,JS是它的肌肉,CSS是它的衣服。由此看來,網(wǎng)頁最重要的數(shù)據(jù)部分是存在于HTML中的。

urllib庫的使用比較簡單,接下來,我們使用urllib快速爬取一個(gè)網(wǎng)頁,具體代碼如下:

importurllib.request
#調(diào)用urllib.request庫的urlopen方法,并傳入一個(gè)url
response=urllib.request.urlopen('http://www.baidu.com')
#使用read方法讀取獲取到的網(wǎng)頁內(nèi)容
html=response.read().decode('UTF-8')
#打印網(wǎng)頁內(nèi)容
print(html)

上述代碼就是一個(gè)簡單的爬取網(wǎng)頁案例,爬取的網(wǎng)頁結(jié)果如圖4-1所示。

快速使用urllib爬取網(wǎng)頁

獲取的網(wǎng)頁源碼

實(shí)際上,如果我們在瀏覽器上打開百度首頁,右鍵選擇“查看源代碼”,你會(huì)發(fā)現(xiàn),跟我們剛才打印出來的是一模一樣。也就是說,上述案例僅僅用了幾行代碼,就已經(jīng)幫我們把百度首頁的全部代碼下載下來了。

多學(xué)一招:Python2使用的是urllib2庫

Python2中使用的是urllib2庫來下載網(wǎng)頁,該庫的用法如下所示:

importurllib2
response=urllib2.urlopen('http://www.baidu.com')

Python3出現(xiàn)后,之前Python2中的urllib2庫被移到了urllib.request模塊中,之前urllib2中很多函數(shù)的路徑也發(fā)生了變化,希望大家在使用的時(shí)候多加注意。




猜你喜歡:

urllib和requests哪個(gè)好用?

python2和3語法區(qū)別是什么?

什么是網(wǎng)絡(luò)爬蟲?網(wǎng)絡(luò)爬蟲有哪些用途?

常見的Python反爬方式有哪些?【Python面試題】

傳智教育pthon+大數(shù)據(jù)開發(fā)工程師培訓(xùn)課程

0 分享到:
和我們在線交談!