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

Posted

技术标签:

【中文标题】在 Beautiful Soup 中将文本添加到 p 标签【英文标题】:Adding text to p tag in Beautiful Soup 【发布时间】:2011-01-18 03:04:52 【问题描述】:

我想知道是否有人知道如何将文本添加到标签(p、b——您可能想要包含字符数据的任何标签)。该文档没有提到您可以在哪里执行此操作。

【问题讨论】:

您是否能够使用提供的答案来完成这项工作?如果没有,您能否详细说明您正在寻找什么? 是的,我使用的是 NavigableString 类型。抱歉回复慢。我真的很喜欢 Beautiful Soup,但我希望文档能更清楚地说明这一点。这似乎是一项相对常见的任务。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:
>>> 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>

【讨论】:

以上是关于在 Beautiful Soup 中将文本添加到 p 标签的主要内容,如果未能解决你的问题,请参考以下文章