BeautifulSoup将字符串网页标签,转换为对象,在使用find_all 方法获取实际内容

  • Post author:
  • Post category:其他


导入BeautifulSoup库:

from bs4 import BeautifulSoup


创建BeautifulSoup对象,将HTML文档作为参数传入

html_doc = """
<html>
<body>
<span>Apple</span>
<span>Banana</span>
<span>Orange</span>
</body>
</html>
"""

soup = BeautifulSoup(html_doc, 'html.parser')

使用find_all方法找到所有的标签,并遍历它们,获取内容:

span_tags = soup.find_all('span')

for span in span_tags:
    print(span.text)
find_all 方法的其他属性


find_all()

方法是BeautifulSoup库中最常用的方法之一,它用于查找HTML文档中符合指定条件的所有标签,并返回一个包含这些标签的列表。

除了可以传递标签名称作为参数之外,

find_all()

方法还支持其他一些属性和参数,用于更精确地定位和过滤标签。下面是一些常用的属性和参数:


  1. name

    :指定要查找的标签名称,可以是字符串或正则表达式。例如,

    soup.find_all('span')

    将返回所有的

    <span>

    标签。


  2. attrs

    :指定要查找的标签的属性和属性值。可以传递一个字典作为参数,字典的键是属性名称,值是属性值。例如,

    soup.find_all(attrs={'class': 'my-class'})

    将返回所有具有

    class

    属性值为

    my-class

    的标签。


  3. text

    :指定要查找的标签的文本内容。可以传递一个字符串或正则表达式作为参数。例如,

    soup.find_all(text='Hello')

    将返回所有文本内容为

    Hello

    的标签。


  4. limit

    :指定返回的标签数量的上限。可以传递一个整数作为参数。例如,

    soup.find_all('span', limit=3)

    将返回最多3个

    <span>

    标签。


  5. recursive

    :指定是否递归查找子标签。默认为True,表示递归查找。如果设置为False,将只查找直接子标签。例如,

    soup.find_all('span', recursive=False)

    将只查找直接子标签中的

    <span>

    标签。

这些是

find_all()

方法的一些常用属性和参数。你可以根据需要使用它们来更精确地定位和过滤HTML文档中的标签。



版权声明:本文为brightgreat原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。