CSS (Cascading Style Sheets) 是一种样式表语言,用于描述HTML元素的样式。CSS选择器是CSS规则的一部分,它决定了CSS规则应用于哪些元素。在网络爬虫的开发中,我们经常使用CSS选择器来定位和选取HTML元素。

以下是一些常见的CSS选择器:

1. 元素选择器

元素选择器选择所有给定的HTML元素。

例如,以下的CSS规则将会应用在所有的<p>标签上,使得所有的段落文字颜色为蓝色:

p {
color: blue;
}

2. ID选择器

ID选择器可以选择一个唯一的元素。ID选择器通过井号#开头,后跟元素的ID来定义。

例如,以下的CSS规则将会应用在ID为my-id的元素上,使得该元素的文字颜色为红色:

#my-id {
color: red;
}

对应的HTML元素可能如下所示:

<p id="my-id">这段文字将会是红色的。</p>

3. 类选择器

类选择器可以选择一个或多个元素。类选择器通过英文句点.开头,后跟元素的类名来定义。

例如,以下的CSS规则将会应用在类为my-class的所有元素上,使得这些元素的文字颜色为绿色:

.my-class {
color: green;
}

对应的HTML元素可能如下所示:

<p class="my-class">这段文字将会是绿色的。</p>
<div class="my-class">这段文字也将会是绿色的。</div>

4. 属性选择器

属性选择器可以选择具有给定属性的元素。

例如,以下的CSS规则将会应用在所有具有target属性的<a>标签上,使得这些链接的文字颜色为紫色:

a[target] {
color: purple;
}

对应的HTML元素可能如下所示:

<a href="https://www.example.com" target="_blank">这个链接的文字将会是紫色的。</a>

5. 组合选择器

你也可以组合使用上述选择器,创建更复杂的选择规则。例如,你可以选择ID为my-id的元素中的所有<p>标签,或者选择类为my-class的元素中的所有具有target属性的<a>标签。

#my-id p {
color: orange;
} .my-class a[target] {
color: pink;
}

以上就是CSS选择器的基础知识。CSS选择器是网络爬虫开发中的一项重要技能,掌握它可以让你更高效地定位和选取HTML元素。

推荐阅读:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

[爬虫]1.2.2 CSS选择器的更多相关文章

  1. 【网络爬虫入门04】彻底掌握BeautifulSoup的CSS选择器

    [网络爬虫入门04]彻底掌握BeautifulSoup的CSS选择器 广东职业技术学院  欧浩源 2017-10-21 1.引言 目前,除了官方文档之外,市面上及网络详细介绍BeautifulSoup ...

  2. 第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器

    第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器 css选择器 1. 2. 3.  ::attr()获取元素属性,css选择器 ::text获取标签文本 举例: extr ...

  3. pyspider 爬虫教程(一):HTML 和 CSS 选择器

      虽然以前写过 如何抓取WEB页面 和 如何从 WEB 页面中提取信息.但是感觉还是需要一篇 step by step 的教程,不然没有一个总体的认识.不过,没想到这个教程居然会变成一篇译文,在这个 ...

  4. 十九 Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器

    css选择器 1. 2. 3.  ::attr()获取元素属性,css选择器 ::text获取标签文本 举例: extract_first('')获取过滤后的数据,返回字符串,有一个默认参数,也就是如 ...

  5. 爬虫学习笔记(2)--创建scrapy项目&&css选择器

    一.手动创建scrapy项目---------------- 安装scrapy: pip install -i https://pypi.douban.com/simple/  scrapy    1 ...

  6. 初始scrapy,简单项目创建和CSS选择器,xpath选择器(1)

    一 安装 #Linux: pip3 install scrapy #Windows: a. pip3 install wheel b. 下载twisted http://www.lfd.uci.edu ...

  7. 潭州课堂25班:Ph201805201 爬虫基础 第六课 选择器 (课堂笔记)

    HTML解析库BeautifulSoup4 BeautifulSoup 是一个可以从HTML或XML文件中提取数据的Python库,它的使用方式相对于正则来说更加的简单方便,常常能够节省我们大量的时间 ...

  8. 使用 CSS 选择器从网页中提取数据

    在 R 中,关于网络爬虫最简单易用的扩展包是 rvest.运行以下代码从 CRAN 上安装:install.packages("rvest")首先,加载包并用 read_html( ...

  9. 爬虫常用Xpath和CSS3选择器对比

    爬虫常用Xpath和CSS3选择器对比 1. 简介 CSS是来配合HTML工作的,和Xpath对比起来,CSS选择器通常都比较短小,但是功能不够强大.CSS中的空白符' '和Xpath的'//'都表示 ...

  10. Spider-Scrapy css选择器提取数据

    首先我们来说说css选择器:其实在上面的概述:和scrapy相关的函数就这么三个而已:response.css("css表达式").extract().extract_first( ...

随机推荐

  1. shell脚本编程(一)

    c81ba641-5ed7-4ab9-a7c0-e319e0f3890b 初识shell脚本编程 最近项目需求,需要了解下shell脚本编程,所以自己就必须玩玩了= = 初识shell脚本编程,找了几 ...

  2. [Pytorch框架] 2.1.4 数据的加载和预处理

    文章目录 PyTorch 基础 :数据的加载和预处理 Dataset Dataloader torchvision 包 torchvision.datasets torchvision.models ...

  3. python的format方法中文字符输出问题

    format方法的介绍 前言 提示:本文仅介绍format方法的使用和中文的输出向左右和居中输出问题 一.format方法的使用 format方法一般可以解决中文居中输出问题,假如我们设定宽度,当中文 ...

  4. StringBuilder类用法解析

    一.StringBuilder说明 StringBuilder是一个可变的字符序列.这个类提供了一个与StringBuffer兼容的API,但不保证同步,即StringBuilder不是线程安全的,而 ...

  5. Navicat Premium 16 安装教程

    使用数据库时经常会使用到Navicat,码一个教程 转载自https://www.bilibili.com/read/cv21586676?spm_id_from=444.41.list.card_a ...

  6. vue项目使用rem布局刷新页面瞬间元素尺寸由小变大,页面闪现错乱样式

    vue项目使用px2remLoader插件,在index.html自定义设置font-size的大小,尤其是在首屏加载的时候,会出现页面各个元素尺寸由小变大的一个过程,很难看 刚开始一直在想是不是因为 ...

  7. 2022-04-25:给定两个长度为N的数组,a[]和b[] 也就是对于每个位置i来说,有a[i]和b[i]两个属性 i a[i] b[i] j a[j] b[j] 现在想为了i,选一个最

    2022-04-25:给定两个长度为N的数组,a[]和b[] 也就是对于每个位置i来说,有a[i]和b[i]两个属性 i a[i] b[i] j a[j] b[j] 现在想为了i,选一个最好的j位置, ...

  8. Python MQTT客户端 paho-mqtt

    Python中MQTT Python有许多优秀的MQTT客户端,比较有代表性的有paho-mqtt.hbmqtt.gmqtt等,各有特色 paho-mqtt 有着最优秀的文档,代码风格易于理解,同时有 ...

  9. Selenium - 元素定位(3) - CSS进阶

    Selenium - 元素定位 CSS 定位进阶 元素示例 属性定位 # css 通过id属性定位 driver.find_element_by_css_selector("#kw" ...

  10. 基于.NetCore开发博客项目 StarBlog - (28) 开发友情链接相关接口

    前言 之前介绍的友情链接功能,只实现了友情链接的展示和管理接口. 还缺失友情链接申请.审核管理.通知,现在把这块功能补全. Model 什么的之前那篇文章都有,本文直接补全逻辑代码~ 详见: 基于.N ...