【Python 第三方库】html2image

2024-01-25 00:00:00

目录:

html2image 模块介绍

html2image 通过封装 Chrome、Edge 等浏览器的无头模式,能够轻松地将 URL、HTML 字符串或本地 HTML 文件转换为高质量的图像(如PNG、JPEG格式)。

生成的是位图,不是矢量图,放大很多倍数图片会变模糊。

安装依赖:

$ pip install html2image

安装后,确保系统中已安装 Chrome、Chromium 或 Edge 等支持的浏览器。

从 URL 生成图片

from html2image import Html2Image

# 初始化实例
hti = Html2Image()

# 截取网页
hti.screenshot(url='https://blog.dkvirus.com/', save_as='test.png')

支持从多个 URL 批量生成图片:

from html2image import Html2Image

hti = Html2Image()

# 批量截图多个URL
urls = ['https://example.com/page1', 'https://example.com/page2']
hti.screenshot(url=urls, save_as=['page1.png', 'page2.png'])

从 HTML 字符串生成图片

from html2image import Html2Image

hti = Html2Image()

# 渲染 HTML 字符串
html_content = "<h1>Hello, World!</h1><p>这是一个示例。</p>"
css_style = "body { background-color: lightblue; padding: 20px; }"
hti.screenshot(html_str=html_content, css_str=css_style, save_as='custom.png')

需要注意的是 HTML 字符串如果包含本地图片引用或本地css引用是不生效的,如下示例:

from html2image import Html2Image

# 初始化实例
hti = Html2Image()

# 渲染HTML字符串
html_content = "<h1>Hello, World!</h1><img src='./test.png'>"
css_style = "body { background-color: lightblue; padding: 20px; }"
hti.screenshot(html_str=html_content, css_str=css_style, save_as='custom.png')

支持批量根据 HTML 字符串生成图片,如下示例,虽然 save_as 参数只是一个字符串,最终仍然会生成 batch_output_0.png 和 batch_output_1.png 两张图片。

from html2image import Html2Image

# 初始化实例
hti = Html2Image()

# 批量渲染多个 HTML 字符串
html_list = ['<h1>Page A</h1>', '<h1>Page B</h1>']
hti.screenshot(html_str=html_list, save_as='batch_output.png')

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: