python将网页保存为pdf,利用Python将网页保存为PDF文件

环境简介

wkhtmltopdf可以直接把任何一个可以在浏览器中浏览的网页直接转换成一个pdf,首先说明一下它不是一个python库,而是一个把html页面转换成pdf的一个软件,我们需要在系统上安装它。

Ubuntu 16.04 安装wkhtmltopdf

$ sudo apt-get install wkhtmltopdf

然后Python需要使用这个软件需要再安装一个库

sudo pip3 install pdfkit

pdfkit使用示例

参考文档

一个简单的例子:

import pdfkit

pdfkit.from_url('http://google.com', 'out.pdf')

pdfkit.from_file('test.html', 'out.pdf')

pdfkit.from_string('Hello!', 'out.pdf')

你也可以传递一个url或者文件名列表:

pdfkit.from_url(['google.com', 'yandex.ru', 'engadget.com'], 'out.pdf')

pdfkit.from_file(['file1.html', 'file2.html'], 'out.pdf')

其他使用方式请参照pdfkit参考文档

参考代码

def html2pdf(url,tag,name,value):

html=requests.get(url).content

bsObj=BeautifulSoup(html,'html.parser')

title=bsObj.h1

content=bsObj.find(tag,{name:value})

content.insert(1,title)

filename=content.h1.get_text()

html=html_template.format(content=content)

html = html.encode("utf-8")

with open(filename+'.html', 'wb') as f:

f.write(html)

pdfkit.from_file(filename+'.html',filename+'.pdf',options=options)

华裳绕指柔, 版权所有丨如未注明 , 均为原创|转载请注明利用Python将网页保存为PDF文件!

你可能感兴趣的:(python将网页保存为pdf)