簡體   English   中英

更新文字 <p> HTML中包含的標記 <img> 使用Beautifulsoup標記

[英]Update text in a <p> tag in HTML that contains <img> tag using Beautifulsoup

我有以下Beautifulsoup HTML標記,我想將標記中的文本TEXT TO BE UPDATEDSOMETHING 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM