将Gmail转换为PDF:HTML中的嵌入式图像

时间:2019-03-23 19:17:06

标签: python gmail-api mime

我正在使用Gmail API下载电子邮件。当这些电子邮件为HTML时,我尝试使用Python的pdfkit将它们转换为PDF。

在许多情况下都可以使用,但在某些情况下html有效内容包含诸如src=“cid:169abdc4ae2c4da871d2”之类的图像标签。

似乎“ cid”标签是指作为多部​​分电子邮件的一部分发送的图像,但是PDFkit无法处理该图像。错误是:

wkhtmltopdf reported an error:
Loading pages (1/6)
Error: Failed to load cid:169abf0d0cdfffb7aff2, with network status code 301 and http status code 0 - Protocol "cid" is unknown

我该如何解决?有没有办法将我从gmail负载中获得的HTML转换为带有适当图片来源的标准HTML?

1 个答案:

答案 0 :(得分:2)

您可以在 w3lib Package 中使用“remove_tags”方法:

删除所有标签:

import w3lib.html
doc = '<div><p><b>This is a link:</b> <a href="http://www.example.com">example</a></p></div>'
w3lib.html.remove_tags(doc)
'This is a link: example'

删除特定标签:

 w3lib.html.remove_tags(doc, which_ones=('a','b'))
'<div><p>This is a link: example</p></div>'