Beautiful Soup - NavigableString() 方法



方法描述

bs4 包中的 NavigableString() 方法是 NavigableString 類的構造方法。NavigableString 表示已解析文件的最內層子元素。此方法將普通的 Python 字串轉換為 NavigableString。相反,內建的 str() 方法將 NavigableString 物件轉換為 Unicode 字串。

語法

NavigableString(string)

引數

  • string − Python 的 str 類物件。

返回值

NavigableString() 方法返回一個 NavigableString 物件。

示例 1

在下面的程式碼中,HTML 字串包含一個空的 <b> 標籤。我們在其中新增一個 NavigableString 物件。

html = """
<p><b></b></p>
"""
from bs4 import BeautifulSoup, NavigableString

soup = BeautifulSoup(html, 'html.parser')
navstr = NavigableString("Hello World")
soup.b.append(navstr)
print (soup)

輸出

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

示例 2

在這個例子中,我們看到兩個 NavigableString 物件被新增到一個空的 <b> 標籤中。該標籤響應 strings 屬性而不是 string 屬性。它是一個 NavigableString 物件的生成器。

html = """
<p><b></b></p>
"""
from bs4 import BeautifulSoup, NavigableString

soup = BeautifulSoup(html, 'html.parser')
navstr = NavigableString("Hello")
soup.b.append(navstr)
navstr = NavigableString("World")
soup.b.append(navstr)
for s in soup.b.strings:
   print (s, type(s))

輸出

Hello <class 'bs4.element.NavigableString'>
World <class 'bs4.element.NavigableString'>

示例 3

如果我們訪問 <b> 標籤物件的 stripped_strings 屬性而不是 strings 屬性,我們將得到一個 Unicode 字串(即 str 物件)的生成器。

html = """
<p><b></b></p>
"""
from bs4 import BeautifulSoup, NavigableString

soup = BeautifulSoup(html, 'html.parser')
navstr = NavigableString("Hello")
soup.b.append(navstr)
navstr = NavigableString("World")
soup.b.append(navstr)
for s in soup.b.stripped_strings:
   print (s, type(s))

輸出

Hello <class 'str'>
World <class 'str'>
廣告