我正在寻找一种方法来替换所有不使用正则表达式的 IMG 标签中的 SRC 属性。 (想使用默认 Python 安装中包含的任何开箱即用的 HTML 解析器)我需要将源代码从可能的样子减少到:
<img src="cid:imagename">
我正在尝试替换所有 src 标签以指向 HTML 电子邮件附件的 cid,因此我还需要更改任何来源,因此它只是没有路径或扩展名的文件名。
最佳答案
Python 标准库中有一个 HTML 解析器,但它不是很有用,并且从 Python 2.6 开始就被弃用了。用BeautifulSoup做这种事情真的很简单:
from BeautifulSoup import BeautifulSoup
from os.path import basename, splitext
soup = BeautifulSoup(my_html_string)
for img in soup.findAll('img'):
img['src'] = 'cid:' + splitext(basename(img['src']))[0]
my_html_string = str(soup)
关于python - 使用 Parser 替换所有 IMG 元素的 SRC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579133/