Beautiful Soup 简明教程

Beautiful Soup - append() Method

Method Description

Beautiful Soup 中的 append() 方法在当前标记对象的末尾添加给定的字符串或另一个标记。该 append() 方法的工作方式类似于 Python 的列表对象的 append() 方法。

Syntax

append(obj)

Parameters

  1. obj − 任何 PageElement,可以是字符串、NavigableString 对象或 Tag 对象。

Return Type

该 append() 方法不返回新对象。

Example 1

在以下示例中,HTML 脚本有一个 <p> 标记。使用 append() 附加文本。在以下示例中,HTML 脚本有一个 <p> 标记。使用 append() 附加文本。

from bs4 import BeautifulSoup

markup = '<p>Hello</p>'
soup = BeautifulSoup(markup, 'html.parser')
print (soup)
tag = soup.p

tag.append(" World")
print (soup)

Output

<p>Hello</p>
<p>Hello World</p>

Example 2

通过 append() 方法,你可以在现有标记的末尾添加新标记。首先使用 new_tag() 方法创建一个新标记对象,然后将其传递给 append() 方法。

from bs4 import BeautifulSoup, Tag

markup = '<b>Hello</b>'
soup = BeautifulSoup(markup, 'html.parser')

tag = soup.b
tag1 = soup.new_tag('i')
tag1.string = 'World'
tag.append(tag1)
print (soup.prettify())

Output

   <b>
      Hello
   <i>
      World
   </i>
</b>

Example 3

如果你必须将字符串添加到文档,你可以附加一个 NavigableString 对象。

from bs4 import BeautifulSoup, NavigableString

markup = '<b>Hello</b>'
soup = BeautifulSoup(markup, 'html.parser')

tag = soup.b
new_string = NavigableString(" World")
tag.append(new_string)
print (soup.prettify())

Output

<b>
   Hello
   World
</b>