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

如何用Scrapy的CSS选择器获取<data>标签的value属性值?

Scrapy 获取data元素的value属性值

给定目标HTML元素:

<data value="5200" class="text-red-600 font-bold font-arabic  undefined"><span class="mr-1">5</span><span class="mr-1">200</span><span class="text-xs font-medium">DT</span></data>

要提取其中value属性的5200,你之前尝试的写法都不对,正确的Scrapy CSS选择器语法是用::attr(属性名)来获取元素属性:

bike.css('data::attr(value)').get()

你之前写法的问题:

  • bike.css('data::text').get():这是提取<data>标签下的文本内容(也就是页面显示的5200DT),不是目标属性值
  • bike.css('data::value').get():Scrapy CSS选择器没有::value这种语法,属于写法错误
  • bike.css('data').get():只会返回整个<data>元素的HTML代码,无法直接拿到属性值

修改后的完整Scrapy代码:

class BikespiderSpider(scrapy.Spider):
    name = "bikespider"
    allowed_domains = ["Domain_here"]
    start_urls = ["Link_here"]

    def parse(self, response):
        
        bikes = response.css('article.mx-0')

        for bike in bikes:
            yield {
                'name' : bike.css('h2::text').get(),
                'price' : bike.css('data::attr(value)').get()
            }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:52:35