在Beautiful Soup中添加文本到p标签

时间:2010-02-18 00:05:42

标签: python html xml beautifulsoup

我想知道是否有人知道如何向标签添加文本(p,b - 您可能想要包含字符数据的任何标签)。文档中没有提到你如何做到这一点。

2 个答案:

答案 0 :(得分:5)

我不确定这是不是你想要的,但也许这是一个开始......

from BeautifulSoup import BeautifulSoup, NavigableString

html = "<p></p>"
soup = BeautifulSoup(html)
ptag = soup.find('p')
ptag.insert(0, NavigableString("new"))
print ptag

输出

<p>new</p>

文档显示了一些类似的示例:http://www.crummy.com/software/BeautifulSoup/documentation.html#Modifying%20the%20Parse%20Tree

答案 1 :(得分:1)

>>> import BeautifulSoup
>>> b=BeautifulSoup.BeautifulSoup("<p></p><p></p>")
>>> for t,s in zip(b,[u'hello',u'world']):
...     t.contents.append(BeautifulSoup.NavigableString(s))
... 
>>> b
<p>hello</p><p>world</p>