Python 2.3 CSS Selector
CSS 选择器(CSS Selectors)是用来选取 HTML 文档中的元素的一种方式。CSS 选择器最初是为了样式化 HTML 元素而设计的,但在 Web 开发中,它们也被广泛用于 JavaScript 和前端框架(如 jQuery)来动态操作 DOM(Document Object Model)。在 Web 爬虫中,CSS 选择器同样可以用于从 HTML 页面中提取数据。
1 CSS 选择器的基本语法和功能
1.1 . 基本选择器
元素选择器:直接指定 HTML 元素名称。
1
div { /* styles */ }
类选择器:以
.
开头,后面跟着类名。1
.className { /* styles */ }
ID 选择器:以
#
开头,后面跟着 ID 名称。1
#idName { /* styles */ }
1.2 . 组合选择器
后代选择器:使用空格来选择一个元素的后代。
1
div p { /* styles */ }
子选择器:使用
>
符号来选择一个元素的直接子元素。1
div > p { /* styles */ }
相邻兄弟选择器:使用
+
符号来选择紧邻在前面元素之后的第一个兄弟元素。1
h1 + p { /* styles */ }
通用兄弟选择器:使用
~
符号来选择前面元素之后的所有兄弟元素。1
h1 ~ p { /* styles */ }
1.3 . 伪类选择器
属性选择器:使用
[attribute]
来选择具有指定属性的元素。1
input[type="text"] { /* styles */ }
伪类:使用
:
来选择特殊状态的元素。1
2
3:hover { /* styles */ } /* 鼠标悬停 */
:first-child { /* styles */ } /* 第一个子元素 */
:last-child { /* styles */ } /* 最后一个子元素 */
1.4 . 通配符选择器
- 通用选择器:使用
*
来选择所有元素。1
* { /* styles */ }
2 CSS 选择器在 Web 爬虫中的应用
在使用 Python 进行 Web 爬虫开发时,通常会结合 BeautifulSoup
库来解析 HTML,并使用 CSS 选择器来提取数据。
2.1 示例代码
假设我们要从一个网页中提取所有文章标题:
1 | from bs4 import BeautifulSoup |
3 示例:提取超级英雄的名字
假设你有以下 XML 文件 superHero.xml
:
1 | <superhero> |
使用 CSS 选择器来提取所有 name
元素的文本内容:
1 | from bs4 import BeautifulSoup |
4 总结
CSS 选择器是一种强大而灵活的工具,用于在 HTML 和 XML 文档中精确地定位和提取数据。通过结合 Python 的第三方库,如 BeautifulSoup
,可以更加便捷地使用 CSS 选择器来解析和提取数据。掌握 CSS 选择器的基本语法和功能可以帮助你在 Web 开发和爬虫项目中更有效地处理文档结构。
评论