【愚公系列】《Python网络爬虫从入门到精通》019-使用 BeautifulSoup 的CSS选择器
标题 | 详情 |
---|---|
作者简介 | 愚公搬代码 |
头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 |
近期荣誉 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。 |
博客内容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 |
欢迎 | 👍点赞、✍评论、⭐收藏 |
文章目录
- 🚀前言
- 🚀一、使用 BeautifulSoup 的CSS选择器
-
- 🔎1.基本语法
- 🔎2.常用 CSS 选择器
- 🔎3.基础示例
-
- 🦋3.1 标签选择器
- 🦋3.2 类选择器
- 🦋3.3 ID 选择器
- 🦋3.4 层级选择器
- 🔎4.高级用法
-
- 🦋4.1 嵌套获取
- 🦋4.2 获取属性值
- 🦋4.3 获取文本内容
- 🦋4.4 属性选择器
- 🦋4.5 组合选择器
- 🦋4.6 切片操作
- 🔎5.`select_one()` 方法
- 🔎6.注意事项
- 🔎7.完整示例代码
- 🔎8.总结
🚀前言
在现代网页开发和数据分析中,提取和解析网页内容是每个数据工作者必须掌握的技能。而在众多的解析工具中,BeautifulSoup凭借其直观的接口和强大的功能,成为了Python开发者的热门选择。尤其是其支持CSS选择器的特性,使得我们在定位和提取网页元素时更加灵活和高效。
本期文章将重点介绍如何使用BeautifulSoup的CSS选择器来获取网页中的内容。我们将深入探讨CSS选择器的基本概念以及在BeautifulSoup中的具体应用,包括如何使用选择器查找特定元素、提取文本和属性等。通过生动的实例演示,你将能够直观地理解如何利用CSS选择器简化数据提取的流程。
🚀一、使用 BeautifulSoup 的CSS选择器
BeautifulSoup 支持通过 CSS 选择器语法提取节点内容,使用 select()
方法实现灵活查找,适用于 Tag
或 BeautifulSoup
对象。
🔎1.基本语法
调用 select()
方法,传入 CSS 选择器字符串:
soup.select("CSS选择器语法")
🔎2.常用 CSS 选择器
选择器类型 | 语法示例 | 描述 |
---|---|---|
标签选择器 | 'p' |
匹配所有 <p> 节点 |
类选择器 | '.class-name' |
匹配 class="class-name" 的节点 |
ID 选择器 | '#id-value' |
匹配 id="id-value" 的节点 |
层级选择器 | 'div p' |
匹配 <div> 内嵌套的所有 <p> 节点 |
直接子节点 | 'div > p' |
匹配 <div> 的直接子节点 <p> |
组合选择器 | '.p-1, .p-5' |
匹配多个选择器的节点(逗号分隔) |
属性选择器 | 'p[value="1"]' |
匹配属性值符合条件的节点 |
🔎3.基础示例
示例 HTML 结构:
<body>
<div class="test 1" id="class 1">
<p class="p-1" value="1">零基础学Python</p>
<p class<