在 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 标签的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Beautiful Soup 刮掉href中的文本?

Beautiful Soup Find - 只获取文本

如何使用 Python 3 和 Beautiful Soup 获取 Wikipedia 文章的文本?

将 html 保存到文件以供以后使用 Beautiful Soup 使用

Python爬虫编程思想(59): 用Beautiful Soup CSS选择器获取属性值与文本

记录 Beautiful Soup 库的一个坑(获取标签内的文本字符串内容时需要注意空格)