Python3實現網頁內容轉換成PDF文檔和圖片
1、引言
小魚:小屌絲,你這是幹啥呢?
小屌絲:我的女神想要這個網頁的內容。
小魚:那你也不能這一點點的復制粘貼啊,
小屌絲:為瞭我的女神,再辛苦我都願意…
小魚:咱能不能man一點,你直接把網頁內容爬下來不就完事瞭,
小屌絲:我的女神還要把這些內容轉換成PDF,
小魚:你的女神事可真多…
小屌絲:魚哥,你有什麼好的法子嗎?
小魚:嗯,辦法嘛,確實有
小屌絲:我懂。
小魚:…上道這麼快,果然為瞭你的女神,你什麼都舍得,我也不磨嘰瞭,直接上教程。
2、代碼實戰
關於網頁的內容轉換成PDF,通常思路:
- 爬取網頁內容
- 保存到本地
- 轉換成PDF文檔
這種方法, 確實可以實現,但是,很麻煩,需要轉兩次。
而今天,小魚給大傢分享的方法,就3行代碼,一次搞定。
2.1 模塊介紹
2.1.1 pdfkit
pdfkit 是把 HTML+CSS 格式的文件轉換成 PDF 的一種工具,它是 wkhtmltopdf 這個工具包的 python 封裝。
2.2 安裝
pip install pdfkit
其它安裝方式,直接看這兩篇:
《Python3自動安裝第三方庫,跟pip說再見》
《Python:一行代碼,導入Python所有庫》
敲黑板:
pdfkit 是基於 wkhtmltopdf 的封裝,所以需要先安裝 wkhtmltopdf 。
wkhtmltopdf官網
2.3 代碼實例
2.3.1 URL 對應網頁轉 PDF
代碼示例:
# -*- coding:utf-8 -*- # @Time : 2022-06-12 # @Author : carl_DJ import pdfkit 'URL 對應網頁轉 PDF' #wkhtmltopdf.exe 為本地安裝的路徑 config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe") #調用pdfkit.from_url參數,轉換PDF pdfkit.from_url(r'https://blog.csdn.net/wuyoudeyuer?type=blog', 'Carl_奕然.pdf', configuration=config)
運行結果:
2.3.2 HTML 文件轉 PDF
代碼示例:
# -*- coding:utf-8 -*- # @Time : 2022-06-12 # @Author : carl_DJ import pdfkit 'HTML 文件轉 PDF' config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe") #調用pdfkit.from_file參數,轉換PDF pdfkit.from_file(r'D:\Carl_奕然的博客.html, 'Carl_奕然.pdf', configuration=config)
敲黑板
讀取html,需要調用pdfkit.from_file 參數。
2.3.3 字符串轉 PDF
代碼示例:
# -*- coding:utf-8 -*- # @Time : 2022-06-12 # @Author : carl_DJ import pdfkit '字符串轉 PDF' config = pdfkit.configuration(wkhtmltopdf=r"D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe") #調用pdfkit.from_file參數,轉換PDF pdfkit.from_string(r'Ilike wangxinling, 'Carl_奕然.pdf', configuration=config)
運行結果
2.4 拓展
小屌絲:魚哥,如果我不想寫代碼,能不能一鍵轉換成PDF呢?
小魚:嗯,這個可以實現,但是不能一鍵,必須一行代碼。
小屌絲:也行,能少些一行是一行。
2.4.1 網頁轉換PDF
開篇小魚也說過:pdfkit 是基於 wkhtmltopdf 的封裝,所以功能肯定也是基於 wkhtmltopdf 的。
於是乎,我們就能先到,直接用wkhtmltopdf 的功能,看看能否實現PDF轉換。
代碼示例
第一步、找到wkhtmltopdf的安裝路徑,以小魚的為例:
D:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe
第二步、powershell打開,輸入命令
.\wkhtmltopdf.exe https://blog.csdn.net/wuyoudeyuer/category_9471191.html D:\carl.pdf
運行結果
解析
- .\wkhtmltopdf.exe :調用wkhtmltopdf.exe
- https://blog.csdn.net/wuyoudeyuer?type=blog:url地址
- D:\carl.pdf:保存的路徑
2.4.2 網頁轉換圖片
代碼示例
我們來試一下網頁轉換成圖片,
同樣,
第一步、打開powershell,進入到bin文件夾下
第二步、輸入命令:.\wkhtmltoimage.exe https://blog.csdn.net/wuyoudeyuer/category_9471191.html D:\carl.png
運行結果
3、總結
今天的分享,就到這裡瞭。
是不是奇奇怪怪的姿勢,又增加瞭呢。
我們總結一下今天的內容:
pdfkit 可以可以實現的轉換:
- URL 對應網頁轉 PDF
- html文件轉 PDF
- 字符串轉 PDF
wkhtmltopdf.exe可以實現的轉換:
- 網頁轉圖片
- 網頁轉 PDF
到此這篇關於Python3實現網頁內容轉換成PDF文檔和圖片的文章就介紹到這瞭,更多相關Python網頁內容轉PDF 圖片內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python實現csdn全部博文下載並轉PDF
- Python自動化辦公之Word轉PDF的實現
- Python3讀取文件的操作詳解
- Python3用2行代碼生成動態二維碼詳解
- Python爬取csnd文章並轉為PDF文件