寫(xiě)爬蟲(chóng)似乎沒(méi)有比用 Python 更合適了,Python 社區(qū)提供的爬蟲(chóng)工具多得讓你眼花繚亂,各種拿來(lái)就可以直接用的 library 分分鐘就可以寫(xiě)出一個(gè)爬蟲(chóng)出來(lái),今天就琢磨著寫(xiě)一個(gè)爬蟲(chóng),將廖雪峰的 Python 教程 爬下來(lái)做成 PDF 電子書(shū)方便大家離線閱讀。
開(kāi)始寫(xiě)爬蟲(chóng)前,我們先來(lái)分析一下該網(wǎng)站1的頁(yè)面結(jié)構(gòu),網(wǎng)頁(yè)的左側(cè)是教程的目錄大綱,每個(gè) URL 對(duì)應(yīng)到右邊的一篇文章,右側(cè)上方是文章的標(biāo)題,中間是文章的正文部分,正文內(nèi)容是我們關(guān)心的重點(diǎn),我們要爬的數(shù)據(jù)就是所有網(wǎng)頁(yè)的正文部分,下方是用戶的評(píng)論區(qū),評(píng)論區(qū)對(duì)我們沒(méi)什么用,所以可以忽略它。
工具準(zhǔn)備
弄清楚了網(wǎng)站的基本結(jié)構(gòu)后就可以開(kāi)始準(zhǔn)備爬蟲(chóng)所依賴(lài)的工具包了。requests、beautifulsoup 是爬蟲(chóng)兩大神器,reuqests 用于網(wǎng)絡(luò)請(qǐng)求,beautifusoup 用于操作 html 數(shù)據(jù)。有了這兩把梭子,干起活來(lái)利索,scrapy 這樣的爬蟲(chóng)框架我們就不用了,小程序派上它有點(diǎn)殺雞用牛刀的意思。此外,既然是把 html 文件轉(zhuǎn)為 pdf,那么也要有相應(yīng)的庫(kù)支持, wkhtmltopdf 就是一個(gè)非常好的工具,它可以用適用于多平臺(tái)的 html 到 pdf 的轉(zhuǎn)換,pdfkit 是 wkhtmltopdf 的Python封裝包。首先安裝好下面的依賴(lài)包,接著安裝 wkhtmltopdf
pip install requests pip install beautifulsoup pip install pdfkit