python - 使用 Parser 替换所有 IMG 元素的 SRC

标签 python html parsing image src

我正在寻找一种方法来替换所有不使用正则表达式的 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/

相关文章:

python - Selenium 远程连接拒绝使用 Python split

python - 将不同的可调用对象传递给uWSGI而不是flask应用程序对象

html - 内联显示不适用于 Canvas 元素

javascript - onclick HTML 不工作

python - 使用 PythonTokenStream 的 PyLucene 自定义 TokenStream

html - CSS:在 Chrome 中显示绝对定位元素

java - 使用Java解析xml文件

python - NLTK 解析树中的转义括号

parsing - 在 FParsec 的 OperatorPrecedenceParser 中生成错误

python - 类型错误 : 'str' object is not callable - When filling database