这里有一个变量html_str,它是一个字符串,包含html标签和正文内容。我使用下面的Python代码从这个字符串创建了一个**.html**文件。
html_file = open("filename.html", "w")
html_file.write(html_str)
html_file.close()
现在我得到了html文件命名文件“filename.html".现在我想把“filename.html”转换成一个图像,命名为filename.jpg,内容与html文件完全相同。请帮帮我。
6条答案
按热度按时间ct3nt3jp1#
您可以使用imgkit来完成此操作
也可以使用htmlcsstoimage API
vfhzx4xs2#
如果你不想让你的项目像其他Python模块一样依赖于wkhtmltopdf,我推荐html2image。
您可以使用
pip install html2image
命令获取它。您的机器上还应安装Web浏览器(目前为Chrome/Chromium)。安装完成后,您可以对HTMLstring进行截图,如下所示:
也可以直接截图现有的HTML文件或URL:
有关文档和更多示例,您可以查看the GitHub page of the project。
jvidinwx3#
另一个非常有用的渲染HTML网站的工具是无头Chromium浏览器。
在javascript中,您可以使用puppeteer API与之交互,但puppeteer有一个非官方的python端口,名为pyppeteer。
根据我使用imgkit等python工具的经验,Chromium解决方案在加载图像或iFrames等外部资产时要可靠得多。
要使用pyppeteer获得渲染的HTML的图像版本,您只需加载页面,然后制作一个完整的页面截图:
taor4pac4#
5kgi1eie5#
查看HtmlWebShot
qrjkbowd6#
你可以用熟悉的工具- selenium 。你只需要把文件的路径,而不是链接:
瞧,你用几行代码和没有未知包的图像