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

如何使用Scrapy的response.css获取类内元素的指定属性值

解决Scrapy获取input元素value属性的问题

嘿,我来帮你搞定这个Scrapy选择器的问题!你之前的写法不对,因为value是元素的属性,不是子元素,所以不能用>value这种方式来选。

要精准获取.lst这个input的value属性值,你需要用Scrapy CSS选择器里的::attr(属性名)语法,具体写法如下:

# 获取单个匹配结果(推荐,因为这个input应该是唯一的)
response.css(".lst::attr(value)").get()

# 或者如果你想获取所有匹配的结果(比如有多个相同class的input),用extract()
response.css(".lst::attr(value)").extract()

另外,这个input还有唯一的ID sbhost,用ID选择器会更精准,避免匹配到其他相同class的元素:

response.css("#sbhost::attr(value)").get()

解释下你之前的问题:

  • response.css(".lst >value").extract():这个写法是在找.lst元素的子元素value,但实际上value是属性,不是子元素,所以这个写法根本匹配不到内容(你说能返回内容可能是记错啦?)
  • response.css(".lst").extract():这个会返回整个input标签的HTML代码,所以会拿到所有属性和标签内容,不是你要的单个value值

这样就能准确拿到3474636382675这个值啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:05:38