Beautiful Soup - string 屬性



方法描述

在 Beautiful Soup 中,soup 和 Tag 物件有一個方便的屬性 - string 屬性。它返回 PageElement、Soup 或 Tag 中的單個字串。如果此元素只有一個字串子元素,則返回與之對應的 NavigableString。如果此元素有一個子標籤,則返回值是子標籤的 'string' 屬性,如果元素本身是一個字串(沒有子元素),則 string 屬性返回 None。

語法

Tag.string

示例 1

以下程式碼包含一個 HTML 字串,其中包含一個 <div> 標籤,該標籤包含三個 <p> 元素。我們查詢第一個 <p> 標籤的 string 屬性。

from bs4 import BeautifulSoup, NavigableString

markup = '''
   <div id="Languages">
      <p>Java</p> <p>Python</p> <p>C++</p>
   </div>
'''
soup = BeautifulSoup(markup, 'html.parser')
tag = soup.p

navstr = tag.string
print (navstr, type(navstr))

nav_str = str(navstr)
print (nav_str, type(nav_str))

輸出

Java <class 'bs4.element.NavigableString'>
Java <class 'str'>

string 屬性返回一個 NavigableString。它可以用 str() 函式轉換為常規的 Python 字串

示例 2

包含子元素的元素的 string 屬性返回 None。請檢查 <div> 標籤。

tag = soup.div

navstr = tag.string
print (navstr)

輸出

None
廣告