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
广告

© . All rights reserved.