如何在文本中用标签的值替换标签

时间:2018-12-27 17:30:48

标签: python beautifulsoup

我如何提取

  

我爱Python

从给定的HTML

I <img src="image.png" alt="love"> Python

获取字符串并将其拆分将不起作用,文本由用户控制,并且可能包含<>

1 个答案:

答案 0 :(得分:1)

有几种不同的方法可以实现这一目标。做到这一点的一种方法是找到所有img元素和replace them,其文本节点包含alt元素的img值:

In [1]: from bs4 import BeautifulSoup

In [2]: data = """<div class="commentthread_comment_text">I <img src="image.png" alt="love"> Python</div>"""

In [3]: soup = BeautifulSoup(data, "html.parser")

In [4]: div = soup.find('div', {'class': 'commentthread_comment_text'})

In [5]: for img in div('img'):
    ...:     img.replace_with(img['alt'])
    ...:     

In [6]: div.get_text()
Out[6]: 'I love Python'