You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改CSS选择器,仅获取含class_a不含class_b元素的文本?

解决方案

嘿,这个问题很常见,我来帮你搞定!你当前的选择器会匹配所有带有class_a类的元素,那自然也会包含同时拥有class_b的那个<span>。要只获取Text A,咱们可以用CSS的:not()否定伪类来排除掉带class_b的元素。

修改后的选择器如下:

response.css('.class_a:not(.class_b)::text').extract()

原理说明

  • .class_a 负责匹配所有带有class_a类的元素
  • :not(.class_b) 是核心:它会把同时带有class_b类的元素排除在外
  • 两者组合后,就只会精准选中仅拥有class_a类的<span>,也就是你需要的Text A

执行这个选择器后,返回的结果就只会包含Text A,完美跳过Text AB啦。

内容的提问来源于stack exchange,提问作者 GhostKU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:45:09