牛逼!40行Python代碼一鍵把html網(wǎng)頁保存為pdf,太方便了!
公眾號 “菜鳥學(xué)Python”, 設(shè)為 “星標(biāo)”
第451篇原創(chuàng),和30w+一起學(xué)Python!

01.抓取的學(xué)習(xí)資料

02.獲取網(wǎng)頁鏈接
在上圖中,我們需要格外關(guān)注的是紅色方格標(biāo)注的鏈接,每個鏈接都會跳轉(zhuǎn)到對應(yīng)的子網(wǎng)頁中,而在子網(wǎng)頁中,就是我們想要保存的內(nèi)容。



03.html轉(zhuǎn)pdf
下載https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.mxe-cross-win64.7z 并解壓到本地文件中。(后臺輸入:pdf) 直接獲取。 將解壓文件中的bin文件路徑添加到系統(tǒng)變量Path中。 執(zhí)行 pip install pdfkit執(zhí)行 pip install wkhtmltopdf

上面的程序主要完成幾下幾步:
首先需要指定wkhtmltopdf.exe文件的路徑;
然后分別通過from_url、from_file和from_string的三種方式來保存為pdf文件;
需要注意的是,from_file和from_url中的第一個參數(shù)必須是一個html的字符串或者是html文檔的列表;
但是小編通過程序運行發(fā)現(xiàn),from_url第一個參數(shù)只能是html的字符串,不能是html的列表。
因此,pdfkit庫只能將子網(wǎng)頁保存為單獨的pdf文檔,無法直接通過pdfkit庫將所有的子網(wǎng)頁拼接成一個完整的pdf文檔,小編通過PyPDF2庫中的PdfFileMerger類來實現(xiàn)pdf文檔的拼接。程序如下圖所示。


04.總結(jié)
推薦閱讀:
入門: 最全的零基礎(chǔ)學(xué)Python的問題 | 零基礎(chǔ)學(xué)了8個月的Python | 實戰(zhàn)項目 |學(xué)Python就是這條捷徑
干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 | 從萬眾期待到口碑撲街!唐探3令人失望 | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |
趣味:彈球游戲 | 九宮格 | 漂亮的花 | 兩百行Python《天天酷跑》游戲!
AI: 會做詩的機器人 | 給圖片上色 | 預(yù)測收入 | 碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影
年度爆款文案
點這里,直達(dá)菜鳥學(xué)PythonB站!!

