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

如何使用XPath/CSS提取名称以冒号开头的属性值?

解决Scrapy提取带冒号的HTML属性问题
  • 使用XPath选择器直接提取(最可靠)
    CSS选择器对带冒号的属性解析易出现识别偏差,改用XPath可直接定位带特殊符号的属性:

    # 精准定位id为MainMenu的nav-categories元素
    json_data = response.xpath('//nav-categories[@id="MainMenu"]/@:json-data').get()
    # 匹配所有nav-categories元素
    json_data = response.xpath('//nav-categories/@:json-data').get()
    
  • 若坚持用CSS选择器,需明确元素范围后提取
    避免全局调用属性提取,先锁定目标元素再指定属性:

    json_data = response.css('nav-categories#MainMenu::attr(":json-data")').get()
    

拿到属性值后,若内容为JSON格式,可直接用json.loads(json_data)解析为Python字典。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:57:36