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