我們看到一些比較寫的比較好文章或者博客的時候,想保存下來到本地當一個pdf文件,當做自己的知識儲備,以后即使這個博客或者文章的連接不存在了,或者被刪掉,咱們自己也還有。
當然咱們作為一個coder,這樣的事情肯定不能手動保存下來然后再轉成pdf存起來對不對,有失咱們碼農的身份,當然要自動化的來實現了~
准備工作
那怎么辦呢,python里面有個模塊是pdfkit,他可以幫咱們把一個html(也就是一個網頁)變成一個pdf文件。
pdfkit是python對wkhtmltopdf這個把網頁轉成pdf工具的一個封裝,所以咱們必須得先安裝一個wkhtmltopdf,這個工具的下載網站是:https://wkhtmltopdf.org/downloads.html,根據自己的操作系統下載對應的版本即可。ps:這里要記住安裝目錄啊,下面要用到它,不要忘記它的安裝目錄~
上面說到了pdfkit這個模塊,這個是第三方模塊,需要安裝,使用pip安裝即可。
pip install pdfkit
寫代碼實現
pdfkit它給咱們提供了很多功能,可以給它一個 url,他會自動獲取 url 里面的內容,幫你保存好,也可以給他一個 html 文件,也可以保存,也可以給他一個字符串,也可以保存成 pdf,下面是代碼:
import pdfkit url='https://www.cnblogs.com/sriba/p/8043294.html'#一篇博客的url confg = pdfkit.configuration(wkhtmltopdf='C:\Python35\wkhtmltopdf.exe') #這里指定一下wkhtmltopdf的路徑,這就是我為啥在前面讓記住這個路徑 pdfkit.from_url(url, 'jmeter_下載文件.pdf',configuration=confg) # from_url這個函數是從url里面獲取內容 # 這有3個參數,第一個是url,第二個是文件名,第三個就是khtmltopdf的路徑 #pdfkit.from_file('my.html', 'jmeter_下載文件2.pdf',configuration=confg) # from_file這個函數是從文件里面獲取內容 # 這有3個參數,第一個是一個html文件,第二個是文生成的pdf的名字,第三個就是khtmltopdf的路徑 html=''' <div> <h1>title</h1> <p>content</p> </div> '''#這個html是我從一個頁面上拷下來的一段,也可以 #pdfkit.from_string(html, 'jmeter_下載文件3.pdf',configuration=confg) # from_file這個函數是從一個字符串里面獲取內容 # 這有3個參數,第一個是一個字符串,第二個是文生成的pdf的名字,第三個就是khtmltopdf的路徑
下面是保存好的pdf文件,是不是很簡單,快去試試吧