Beautiful Soup 简明教程

Beautiful Soup - strings Property

Method Description

对于包含多个子级的任何页面元素,可以通过 strings 属性获取每个子级的内部文本。与 string 属性不同,strings 处理元素包含多个子级的情况。strings 属性返回生成器对象。它会生成对应于每个子元素的 NavigableStrings 序列。

Syntax

Tag.strings

Example 1

你可以为汤对象和标记对象检索 strings 属性的值。在以下示例中,检查了汤对象的 stings 属性。

from bs4 import BeautifulSoup, NavigableString

markup = '''
   <div id="Languages">
      <p>Java</p> <p>Python</p> <p>C++</p>
   </div>
'''
soup = BeautifulSoup(markup, 'html.parser')
print ([string for string in soup.strings])

Output

['\n', '\n', 'Java', ' ', 'Python', ' ', 'C++', '\n', '\n']

注意列表中的换行符和空格。我们可以使用 stripped_strings 属性删除它们。

Example 2

我们现在获得 <div> 标记的 strings 属性返回的生成器对象。使用循环,我们打印字符串。

tag = soup.div

navstrs = tag.strings
for navstr in navstrs:
   print (navstr)

Output

Java

Python

C++

请注意,换行符和空格已出现在输出中,可以使用 stripped_strings 属性将其删除。