我创造了一个汤:
from bs4 import BeautifulSoup
soup = BeautifulSoup("<div><p>My paragraph <a>My link</a></p></div>","html.parser")
我想剥离第一个顶级标记以显示其内容,无论标记如何:
<p>My paragraph<a>My link</a></p>
与所有孩子一起。所以我不希望找到像soup.find("div")
这样的标签来替换,而是按位置进行替换。
如何做到这一点?
答案 0 :(得分:2)
使用提供的.unwrap()
功能:
from bs4 import BeautifulSoup
soup = BeautifulSoup("<div><p>My paragraph <a>My link</a></p><p>hello again</p></div>","html.parser")
soup.contents[0].unwrap()
print soup
print len(soup.contents)
结果:
<p>My paragraph <a>My link</a></p><p>hello again</p>
2
答案 1 :(得分:1)
也许你可以使用它的孩子?
soup.findChildren()[1]
- &gt; <p>My paragraph <a>My link</a></p>
soup.findChildren()[0]
返回包含div
元素的元素本身。所以索引1将是第一个孩子。