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

Scrapy Shell中response.css获取元素返回[]的原因咨询

问题原因与解决方法

你的CSS选择器语法错误,导致无法匹配到目标元素:

  • 当定位同一个元素的多个类名时,类名之间必须用.连接;而你用空格分隔的写法,在CSS选择器中代表“后代元素”关系,相当于查找h1.headline下的mb-3元素,再找该元素下的fw-bolder元素,完全不符合目标结构。

正确的写法

  1. 完整匹配所有类名:
response.css('h1.headline.mb-3.fw-bolder').getall()
  1. 简化匹配(若headline类在页面中唯一,无需多余类名):
response.css('h1.headline').getall()

提取标题文本的优化写法

如果只需要标题文本,可结合::text伪元素和get()(页面通常只有一个h1标题):

response.css('h1.headline.mb-3.fw-bolder::text').get()

内容的提问来源于stack exchange,提问作者Mr.Slow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:45:08