篇文章给大家说了css的三种不同的引入方式,今天给大家说一下css的三种选择器:标签选择器、类选择器和ID选择器。
那么有人就会问了,什么是选择器?我们写的css样式声明(定义)由两部分组成,形式如下:选择器{ 样式;},在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。比如我们之前写的span{ color:#f00; }中的span就为一个选择器。
标签选择器其实就是我们经常说的html代码中的标签。例如html、span、p、div、a、img等等;比如我们想要设置网页中的p标签内一段文字的字体和颜色,那么css代码就如下所示:
上面的css样式代码的作用:为p标签内的文字设置颜色为红色,字体的大小为16px;(具体的css样式我们会在后边讲解,这里先了解下即可)
类选择器在我们今后的css样式编码中是最常用到的,它是通过为元素设置单独的class来赋予元素样式效果。
使用语法:(我们这里为p标签单独设置一个类选择器.content,代码就如下所示)
详细讲解:
1、类选择器都是使用英文圆点(.)开头;
2、每个元素可以有多个类名,,名称可以任意起名(但不要起中文,一般都是与内容相关的英文缩写)
3、类选择器只会改变类下的元素样式,而不会改变其它标签的默认样式;
我们上边的页面在浏览器上显示的效果就如下所示:(content下的文字内容颜色变成了红色,字体变成了16px)
ID选择器类似于类选择符,作用同类选择符相同,但也有一些重要的区别。
使用语法:
详细讲解:
1、ID选择器为标签设置id="ID名称",而不是class="类名称"。
2、ID选择符的前面是符号为井号(#),而不是英文圆点(.)。
3、ID选择器的名称是唯一的,即相同名称的id选择器在一个页面只能出现一次;
对于css的三种选择器我们今天就先介绍到这里,大家在平时可以自己多加练习练习,多熟练下class的使用方式与技巧。
每日金句:你今天的努力,是幸运的伏笔,当下的付出,是明日的花开。喜欢我的文章的小伙伴记得关注一下哦,每天将为你更新最新知识。
言
在进行网站爬取时,能够准确、高效地提取所需数据是至关重要的。CSS 选择器提供了一种强大且灵活的方式,用于定位和提取网页中的特定部分。本文将详细介绍如何在网站爬取中使用 CSS 选择器,以及如何使用它们来指定部分读取网页内容。
CSS 选择器基础
CSS 选择器用于选择 HTML 文档中的元素以便应用样式。在网页爬取中,同样的原理被用来定位和提取数据。
简单选择器:
元素选择器:选择所有特定类型的元素。例如,p 选择所有 <p> 元素。
类选择器:以点(.)开头,选择特定类的所有元素。例如,.class-name 选择所有 class="class-name" 的元素。
ID 选择器:以井号(#)开头,选择特定 ID 的元素。例如,#id 选择 id="id" 的元素。
组合选择器:
后代选择器:用空格分隔,选择特定元素内的另一个元素。例如,div p 选择所有位于 <div> 元素内的 <p> 元素。
子选择器:用大于号(>)分隔,选择直接子元素。例如,ul > li 选择所有直接位于 <ul> 内的 <li> 元素。
属性选择器:
选择具有特定属性或属性值的元素。例如,a[href] 选择所有带有 href 属性的 <a> 元素。
使用 Scrapy 和 CSS 选择器
在 Scrapy 中,CSS 选择器被广泛用于提取数据。以下是一个示例,展示如何使用 Scrapy 和 CSS 选择器进行网页内容的指定部分读取:
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://example.com']
def parse(self, response):
# 使用 CSS 选择器提取数据
titles = response.css('h1::text').getall() # 提取所有 <h1> 标签的文本
links = response.css('a::attr(href)').getall() # 提取所有链接
for title in titles:
print(title)
for link in links:
print(link)
在这个示例中,response.css() 方法用于应用 CSS 选择器,::text 用于获取元素的文本内容,::attr(href) 用于获取元素的 href 属性值。
CSS 选择器的高级应用
CSS 选择器也可以用于更复杂的选择任务,如选择特定类的最后一个元素、选择具有特定属性值的元素等。
伪类选择器:
如 :last-child、:first-of-type 等伪类选择器可以用于选择特定的子元素。
属性值选择器:
如 [attribute^=value]、[attribute$=value]、[attribute*=value] 可以用于基于属性值的模式匹配。
总结
CSS 选择器是一种强大的工具,用于网页内容的精确提取。通过熟练使用 CSS 选择器,可以大大提高爬虫的效率和准确性。在实际的爬虫项目中,合理地使用 CSS 选择器不仅可以节省时间,还可以使得代码更加简洁易懂。无论是简单的数据提取还是复杂的网页解析,CSS 选择器都是爬虫开发者的有力工具。
下来快速地学习一下选择排序。
·首先,我们有一个无序数组,从数组的最低位开始,从第5个元素开始,在整个数组中找到最小的元素,即1和5。很明显,1比5小,现在最小值是1。
·然后,我们将1和9进行比较,然后和8进行比较,然后和3进行比较,然后和6进行比较,然后和4进行比较,然后和7进行比较。第一轮已经确定了最小的元素是1,因此1和5进行交换,1所在的位置已经正确了。
·然后,我们从下标为1的5开始,开始第二轮找出最小的元素。在第二轮中,最小值是3,因此我们将3和5交换位置,3已经在正确的位置上了。
·然后,我们从下标为2的元素9开始,和后面所有的元素进行比较,找出最小的元素。很明显,这里面最小的元素是4,因此我们将4和9交换位置。前面三个元素已经有序。
·然后,我们从下标为3的8开始,进行下一轮边里找出最小的元素是5,因此我们将5和8交换位置。因此,选择排序的核心是选择一个最小的元素,并与当前元素进行交换。
·接下来,我们将8和后面所有的元素进行比较,找出最小的元素,即6和8交换。
·然后,我们从8开始和后面的9和7进行比较,找出最小的元素,即7和8交换。
·然后,我们从下标为6的9和后面的所有元素进行比较,找出最小的元素,即7和9交换。
·现在,第零个到第六个元素已经在正确的位置上,整个选择排序结束。
一起来总结一下。选择排序的基本思想是从数组中选择最小的元素,并将其与当前元素进行交换,直到整个数组有序为止。在选择排序中,我们需要不断比较最小的元素,并将其与当前元素进行交换。选择排序是一种简单的排序算法,但其时间复杂度较高,因为它需要不断比较和交换。
*请认真填写需求信息,我们会在24小时内与您取得联系。