大家好,今天呢垛膝,我們來教大家如何用“Python爬蟲”來獲取網(wǎng)頁中的內(nèi)容吼拥。下面我將以一個小說網(wǎng)站為例來具體實(shí)現(xiàn)。
環(huán)境配置
- 下載Anaconda3并完成安裝
- 找到Anaconda3中Scripts文件夾下"idle.exe"
- 打開"idle.exe"惑折,新建一個后綴名為".py"文件
- 打開新建的".py"文件,刪除初始內(nèi)容惨驶,在當(dāng)前文件中完成編程
編程實(shí)現(xiàn)
- 導(dǎo)入讀取網(wǎng)頁的
urllib.request
模塊和正則表達(dá)式re
模塊
import urllib.request as req
import re
- 定義一個變量來接收目標(biāo)網(wǎng)址粗卜,再定義一個變量來接收打開后的網(wǎng)頁內(nèi)容,并用相應(yīng)的編碼來進(jìn)行解碼接收
data = req.urlopen(url).read().decode('gb18030')
- 運(yùn)行當(dāng)前代碼攻臀,用
print
方法查看輸出結(jié)果刨啸,找到想要獲取的內(nèi)容,尋找包裹內(nèi)容的關(guān)鍵詞设联,利用re
模塊的findall
方法來讀取其中的內(nèi)容并用一個變量接收 - 運(yùn)行代碼仑荐,用
print
方法查看輸出結(jié)果纵东,利用“repalce”方法刪除其它內(nèi)容 - 用
print
方法查看輸出結(jié)果
具體實(shí)現(xiàn)代碼如下:
import urllib.request as req
import re #導(dǎo)入模塊
url = 'https://www.farpop.com/0_4/771708.html' #操作網(wǎng)頁的網(wǎng)址
data = req.urlopen(url).read().decode('gb18030') #獲取解碼后的網(wǎng)頁內(nèi)容
i = re.findall(r'<div id="content">(.*?)</div>',data,re.S) #獲取想要的內(nèi)容
fi = i[0]
#刪除其它內(nèi)容
fi = fi.replace(' ','')
fi = fi.replace('<br />','')
fi = fi.replace('<script>readx();</script>','')
#查看輸出結(jié)果
print(fi)
最終獲取到的內(nèi)容如下圖:
小說內(nèi)容