使用解析器替换所有IMG元素的SRC

发布于 2021-01-29 18:02:45

我正在寻找一种不使用正则表达式替换所有IMG标签中SRC属性的方法。(想要使用默认Python安装中随附的任何现成的HTML解析器)我需要将源代码减少到:

<img src="cid:imagename">

我正在尝试替换所有src标记以指向HTML电子邮件的附件的cid,因此我还需要更改任何来源,因此它只是文件名而没有路径或扩展名。

关注者
0
被浏览
38
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    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)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看