在爬虫开发中,获取网页源码后,如何提取有用信息是关键。BeautifulSoup 作为一款强大的解析工具,能帮我们轻松搞定数据提取。本文用最简单的方式,带你入门 BeautifulSoup 的核心用法。
一、什么是 BeautifulSoup?
简单说,BeautifulSoup 是一个 Python 库,能把复杂的 HTML/XML 文档转换成易于操作的结构,让我们像 "挑拣商品" 一样提取需要的数据。它的优点很突出:
自动处理编码问题,不用纠结 UTF-8 和 Unicode
支持多种解析方式,灵活应对不同网页
语法简单,Python 新手也能快速上手
BeautifulSoup 不是 Python 标准库,需手动安装。目前最新版本为 4.x(简称 bs4)
BeautifulSoup 基本用法:核心元素与操作
BeautifulSoup 将文档解析为树形结构,通过 "节点"(标签)为核心进行操作。先了解其基本元素:
| 基本元素 | 描述 | 示例 |
|---|---|---|
| Tag | HTML 标签(如<p>、<a>),用<>和</>包裹 | <p class="info">文本</p> |
| Name | 标签名称,通过tag.name获取 | <p>的 name 为 "p" |
| Attributes | 标签属性(如 class、href),字典格式,通过tag.attrs获取 | <a href="/index">的 attrs 为{'href': '/index'} |
| NavigableString | 标签内文本,通过tag.string获取 | <p>Hello</p>的 string 为 "Hello" |
| Comment | 标签内的注释文本(特殊类型) | <!-- 这是注释 --> |
1. find_all ():查找所有符合条件的节点
语法:find_all(name, attrs, text, limit)
name:按标签名搜索;
attrs:按属性搜索;
text:按文本内容搜索;
limit:限制返回结果数量。
小结
BeautifulSoup 的核心就是:用简单的语法定位标签,提取文本或属性。掌握这几点,就能应对大部分爬虫解析需求:
- 用
find_all()批量找标签 - 用
.text或.string取文本 - 用
.get()获取属性 - 复杂场景用 CSS 选择器

被折叠的 条评论
为什么被折叠?



