网站首页 > 知识剖析 正文
BeautifulSoup 是一个可以从 HTML 或 XML 文件中快速提取数据的 Python 库。它能够通过转 从入门到精通 Python网络爬虫框架Scrapy 38 换器实现惯用的文档导航,查找、修改文档的方式。它是基于 HTML DOM 的,会载入整个 HTML 文档,将复杂的 HTML 文档转换成一个复杂的树形结构(DOM 树),最后解析整个 DOM 树。它 共有 4 种类型,对于爬虫解析来说,主要用其中的遍历文档树和搜索文档树。BeautifulSoup 用来 解析 HTML 比较简单,API 非常人性化,支持 CSS 选择器、Python 标准库中的 HTML 解析器,也 支持 lxml 的 XML 解析器。
BeautifulSoup 分三步进行安装、导入和创建对象:
(1)先安装 BeautifulSoup4,命令为“pip install beautifulsoup4”,再通过以下代码测试安装是 否成功。
(2)在 Python 中导入 from bs4 import BeautifulSoup 模块。
(3)创建 BeautifulSoup 对象。
输出结果如下:
. BeautifulSoup 的语法及应用举例:
下面根据下载的 HTML 网页,创建 BeautifulSoup 对象。在创建对象的同时,将整个文档字符 串下载成一个 DOM 树,然后根据这个 DOM 树,可以进行各种节点的搜索。搜索方法如下:find_ all(name, attrs, string),搜索出所有满足要求的节点;find(name, attrs, string),只搜索出第一个满足 要求的节点。其中,name 为节点名称,attrs 为节点属性,string 为节点文字。搜索网页,提取元素如下图所示。
遍历文档树(DOM 树),就是通过方法获取指定的节点和节点集,包括方法、子节点、父节点、 兄弟节点、前进后退等。下面通过示例代码来演示如何搜索网页,提取元素。
猜你喜欢
- 2025-09-29 Python开发爬虫的常用技术架构_python网络爬虫开发
- 2025-09-29 DISMTools v0.5.1 Update 1_DISMTools v0.5.1 Update 16
- 2025-09-29 Spring MVC 完整配置指南:WebMvcConfigurer 实战全解析
- 2025-09-29 Python3 XML解析:探索数据交换与处理的高效工具(38)
- 2025-09-29 《Java核心技术·卷 Ⅱ》知识点总结
- 2025-09-29 MyBatis3源码解析-执行SQL流程_mybatis3源码深度解析
- 2025-09-29 印度计算机应急响应小组警告:谷歌Chrome、Zoho软件存在多个漏洞
- 2025-09-29 什么是OWASP Top 10?web安全必读_owsl啥意思
- 2025-09-29 XXE漏洞_Xxe漏洞支持的伪协议不包括
- 2025-09-29 Android绘制流程_android图形绘制
- 最近发表
-
- 不用Flexbox, 一行代码搞定CSS居中难题
- 使用 HTML、CSS 和 JS 创建令人惊叹的粒子背景效果
- CSS样式隔离:12个技巧让冲突率降低75%
- Python开发爬虫的常用技术架构_python网络爬虫开发
- DISMTools v0.5.1 Update 1_DISMTools v0.5.1 Update 16
- Spring MVC 完整配置指南:WebMvcConfigurer 实战全解析
- Python3 XML解析:探索数据交换与处理的高效工具(38)
- 《Java核心技术·卷 Ⅱ》知识点总结
- MyBatis3源码解析-执行SQL流程_mybatis3源码深度解析
- 印度计算机应急响应小组警告:谷歌Chrome、Zoho软件存在多个漏洞
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)