使用 BeautifulSoup 替换标签时保留子项
Keep children when replacing tag using BeautifulSoup
我正在尝试替换表单标签而不删除其子标签。例如,我想将其转换为:
<form>
<input type="text"/>
<input type="text"/>
</form>
为此:
<p>
<input type="text"/>
<input type="text"/>
</p>
但我得到的是:
<p></p>
我现在正在尝试这样做:
from bs4 import BeautifulSoup
content = '<form><input type="text"/><input type="text"/></form>'
soup = BeautifulSoup(content)
old_form = soup.find('form')
new_form = soup.new_tag('p')
old_form.replace_with(new_form)
print soup
在此先感谢您的帮助!
使用 .name
属性 适合我:
from bs4 import BeautifulSoup
content = '<form><input type="text"/><input type="text"/></form>'
soup = BeautifulSoup(content)
form = soup.find('form')
form.name = 'p'
print form.prettify()
<p>
<input type="text"/>
<input type="text"/>
</p>
我正在尝试替换表单标签而不删除其子标签。例如,我想将其转换为:
<form>
<input type="text"/>
<input type="text"/>
</form>
为此:
<p>
<input type="text"/>
<input type="text"/>
</p>
但我得到的是:
<p></p>
我现在正在尝试这样做:
from bs4 import BeautifulSoup
content = '<form><input type="text"/><input type="text"/></form>'
soup = BeautifulSoup(content)
old_form = soup.find('form')
new_form = soup.new_tag('p')
old_form.replace_with(new_form)
print soup
在此先感谢您的帮助!
使用 .name
属性 适合我:
from bs4 import BeautifulSoup
content = '<form><input type="text"/><input type="text"/></form>'
soup = BeautifulSoup(content)
form = soup.find('form')
form.name = 'p'
print form.prettify()
<p>
<input type="text"/>
<input type="text"/>
</p>