Beautiful Soup --bs4模块

本文介绍了Beautiful Soup库,一个用于解析HTML和XML的工具,它简化了数据提取过程。内容包括四大对象(BeautifulSoup、Tag、NavigableString、Comment)的解释,使用方法以及通过find、find_all方法和CSS选择器进行查找的实例。
摘要由CSDN通过智能技术生成

1. 什么是Beautiful Soup

bs4是一个HTML/XML的解析器,主要的功能是解析和提取HTML/XML数据,它提供了多种查找和定位元素的方式, 实现了惯用的方式查找和定位元素,从而节省了大量的工作时间,提高了开发项目的效率。

四大对象

bs4库会将复杂的HTML文档换成树结构(HTML DOM),这个结构中的每个节点都是一个Python对象,这些对象可以归纳为如下四种

  • bs4.BeautifulSoup类:表示HTML DOM中的全部内容,支持遍历文档树和搜索文档树的大部分方法。
  • bs4.element.Tag类:表示HTML中的标签,最基本的信息组织单元。它有两个非常重要的属性,分别为表示标签名字的name属性,表示标签属性的attrs属性
  • bs4.element.NavigableString类:表示HTML中标签的文本字符串(非属性字符串)。
  • bs4.element.Comment类:表示标签内字符串的注释部分,是一种特殊的NavigableString对象。

使用

  • 首先安装bs4
pip install bs4
  • 如果安装时候总是Retry可以修改pip源进行安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple bs4

注意: 如果pip是安装在python2上了, 可以使用pip3安装到python3上.

# 导入BeautifullSoup
from bs4 import BeautifulSoup

# 准备html字符串数据
html = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title" name="dromouse"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1"><!-- Elsie --></a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""

# 四大对象
# 1. bs4.BeautifulSoup类:表示HTML DOM中的全部内容,支持遍历文档树和搜索文档树的大部分方法。
# 根据文档字符串创建BeautifulSoup对象性
bs = BeautifulSoup(html, 'xml')
# print(bs)
print(type(bs)) # <class 'bs4.BeautifulSoup'>

# 2. bs4.element.Tag类:表示HTML中的标签,最基本的信息组织单元。它有两个非常重要的属性,分别为表示标签名字的name属性,表示标签属性的attrs属性。
# 获取标签
# 获取文档第一个title标签
print(bs.title)
print(type(bs.title)) # <class 'bs4.element.Tag'>
# 获取文档第一个p标签
print(bs.p)
# 获取文档中第一个a标签
print(bs.a)
# 打印a标签的标签名
print(bs.a.name)
# 打印a上的所有属性
print(bs.a.attrs)

# 3. bs4.element.NavigableString类:表示HTML中标签的文本(非属性字符串)。
# NavigableString 是str与PageElement的子类, 有
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Beautiful Soup 是一个Python库,用于从HTML和XML文件提取数据。它提供了一种简单的方式来遍历、搜索和修改解析树,让你能够轻松地从网页提取所需的信息。 以下是 Beautiful Soup 的基础入门步骤: 1. 安装 Beautiful Soup: 你可以使用 pip 来安装 Beautiful Soup。在命令行运行以下命令: ``` pip install beautifulsoup4 ``` 2. 导入 Beautiful Soup: 在你的 Python 脚本导入 Beautiful Soup 模块: ```python from bs4 import BeautifulSoup ``` 3. 创建 Beautiful Soup 对象: 使用 BeautifulSoup 函数,将要解析的 HTML 或 XML 字符串作为参数传入,并指定解析器,例如 'html.parser': ```python soup = BeautifulSoup(html_doc, 'html.parser') ``` 4. 解析 HTML 结构: 你可以使用不同的 Beautiful Soup 方法来遍历解析树,从而提取数据。例如,你可以使用 `find` 方法来查找符合特定条件的单个元素,或者使用 `find_all` 方法来查找所有符合条件的元素。 ```python # 查找第一个 <p> 标签 paragraph = soup.find('p') # 查找所有 <a> 标签 links = soup.find_all('a') ``` 5. 提取数据: 一旦你找到了所需的元素,你可以使用 Beautiful Soup 提供的各种方法来提取其的文本或属性。 ```python # 提取 <p> 标签的文本 paragraph_text = paragraph.get_text() # 提取 <a> 标签的 href 属性值 for link in links: href = link['href'] ``` 这只是 Beautiful Soup 的基础入门,它还有更多功能和用法。你可以参考官方文档来深入学习:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值