数据清洗之三:css选择器

本文深入讲解了CSS选择器的各种类型及用法,包括类选择器、ID选择器、元素选择器、属性选择器等,并详细介绍了如何在Scrapy中使用CSS选择器进行网页元素定位与内容提取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、css选择器介绍

html上的元素的表现形式是通过css选择器一对一或者一对多选定,然后定义的。如:p{color:red}就是所有p标签的内容字体都是红色。

二、常见用法

类选择器:元素的class属性,比如class="box"表示选取class为box的元素;
ID选择器:元素的id属性,比如id="box"表示选取id为box的元素;
元素选择器:直接选择文档元素,比如p表示选择所有的p元素,div表示选择所有的div元素;
属性选择器:选择具有某个属性的元素,如*[title]表示选择所有包含title属性的元素、a[href]表示选择所有带有href属性的a元素等;
后代选择器:选择包含元素后代的元素,如li a表示选取所有li 下所有a元素;
子元素选择器:选择作为某元素子元素的元素,如h1 > strong表示选择父元素为h1 的所有 strong 元素;
相邻兄弟选择器:选择紧接在另一元素后的元素,且二者有相同父元素,如h1 + p表示选择紧接在 h1 元素之后的所有p元素;

三、scrapy 中的css使用方法

以a元素来举例说明
response.css(‘a’):返回的是selector对象;
response.css(‘a’).extract():返回的是a标签对象;
response.css(‘a::text’).extract_first():返回的是第一个a标签中文本的值;
response.css(‘a::attr(href)’).extract_first():返回的是第一个a标签中href属性的值;
response.css(‘a[href*=image]::attr(href)’).extract():返回所有a标签中href属性包含image的值;
response.css(‘a[href*=image] img::attr(src)’).extract():返回所有a标签下image标签的src属性;

四、常用的表达式

还是两个问题:

(一)找到标签

.class
#id
属性
=为
~=包含
︿=以什么开头
$=以什么结尾
a b 所有子孙中的b
a>b 只子元素中的 b
a+b 紧接在a后的b

(二)提取内容

::text 取值
::attr(href) 取属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值