Beautiful Soup 简明教程
Beautiful Soup - NavigableString Class
Beautiful Soup API 中普遍存在的一个主要对象是 NavigableString 类的对象。它表示大多数 HTML 标记的开始和结束部分之间的字符串或文本。例如,如果 <b>Hello</b> 是要解析的标记,Hello 是 NavigableString。
NavigableString 类是 bs4 包中的 PageElement 类的子类,也是 Python 的内置 str 类的子类。因此,它继承了 PageElement 方法,如 find_*()、insert、append、wrap、unwrap 方法以及 str 类的 upper、lower、find、isalpha 等方法。
此类的构造函数采用一个参数,即 str 对象。
Example
from bs4 import NavigableString
new_str = NavigableString('world')
现在,您可以使用此 NavigableString 对象对解析的树执行各种操作,例如 append、insert、find 等。
在下面的示例中,我们将新创建的 NavigableString 对象附加到现有的 Tab 对象。
Example
from bs4 import BeautifulSoup, NavigableString
markup = '<b>Hello</b>'
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.b
new_str = NavigableString('world')
tag.append(new_str)
print (soup)
Output
<b>Hello</b>world
正如我们所看到的, string 位于 <b> 标签之后。
Beautiful Soup 提供了一个 new_string() 方法。创建一个与这个 BeautifulSoup 对象相关联的新 NavigableString。
让我们使用 new_string() 方法创建一个 NavigableString 对象,并将其添加到 PageElements。