将内部 HTML 替换为 BeautifulSoup?
Replacing the inner HTML with BeautifulSoup?
对于标签:
<div class="special_tag"></div>
我想要一个 tag.replace_inner_html('inner')
结果是:
<div class="special_tag">inner</div>
我知道的最好的是 replace_with('inner')
,它取代了外部的 HTML。
如果要替换内部文字,set string
attribute:
>>> from bs4 import BeautifulSoup
>>>
>>> soup = BeautifulSoup('''
... <div>
... <div class="special_tag"></div>
... </div>
... ''')
>>> elem = soup.find(class_='special_tag')
>>> elem.string = 'inner'
>>> print(elem)
<div class="special_tag">inner</div>
如果要添加标签(或多个标签),您需要clear
contents, and insert
or append
them (Use new_tag
创建标签:
>>> elem = soup.find(class_='special_tag')
>>> elem.clear()
>>> elem.append('inner')
>>> print(elem)
<div class="special_tag">inner</div>
对于标签:
<div class="special_tag"></div>
我想要一个 tag.replace_inner_html('inner')
结果是:
<div class="special_tag">inner</div>
我知道的最好的是 replace_with('inner')
,它取代了外部的 HTML。
如果要替换内部文字,set string
attribute:
>>> from bs4 import BeautifulSoup
>>>
>>> soup = BeautifulSoup('''
... <div>
... <div class="special_tag"></div>
... </div>
... ''')
>>> elem = soup.find(class_='special_tag')
>>> elem.string = 'inner'
>>> print(elem)
<div class="special_tag">inner</div>
如果要添加标签(或多个标签),您需要clear
contents, and insert
or append
them (Use new_tag
创建标签:
>>> elem = soup.find(class_='special_tag')
>>> elem.clear()
>>> elem.append('inner')
>>> print(elem)
<div class="special_tag">inner</div>