[英]Update text in a <p> tag in HTML that contains <img> tag using Beautifulsoup
我有以下Beautifulsoup HTML標記,我想將標記中的文本TEXT TO BE UPDATED
為SOMETHING ELSE
。
<p><img src="./img.jpg"> TEXT TO BE UPDATED.</p>
假設上述<p>
標簽的Beautifulsoup對象是p_tag
。 我嘗試使用p_tag.string.replace_with('SOMETHING ELSE')
,但是由於p_tag.string
總是返回None
,所以它不起作用。 知道為什么會發生嗎?
您需要使用p_tag.text
來獲取文本,並使用p_tag.string
來設置新文本。
像這樣:
source = '<p><img src="./img.jpg"> TEXT TO BE UPDATED.</p>'
bsoup = BeautifulSoup(source, 'html.parser')
p_tag = bsoup.p
old_text = p_tag.text
new_text = p_tag.img.text + ' Something new'
p_tag.string = new_text
print(p_tag.prettify())
# prints `<p><img src="./img.jpg"> Something new </p>`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.