首页 > 解决方案 > 修改html标签用“data-src”替换“src”

问题描述

有没有办法用来BeautifulSoup替换图像的元素标签,我有一些 HTML 文件,我想用那个 img 的“data-src”替换“src”

<img src="//Pictures/q-90-90.png" data-src="//Pictures/p720_test.jpg">

到目前为止的代码

soup = BeautifulSoup(open("template/home.html", 'lxml')
images = soup.findAll('img')
for i in images:
    #replace src with data-src

我也对使用正则表达式的任何解决方案持开放态度,理想情况下输出是

<img src="//Pictures/p720_test.jpg" data-src="//Pictures/q-90-90.png">

标签: beautifulsoup

解决方案


不要在 html 上使用正则表达式;试试这个:

soup.find('img')['src']= "data-src"

编辑:

要交换<img>元素内的属性值,请尝试以下操作:

old_src = soup.select_one('img')['src']
old_data = soup.select_one('img')['data-src']
target = soup.select_one('img')
target['src']= old_data
target['data-src']= old_src

推荐阅读