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

如何用Scrapy提取最后一个<li>元素的文本内容?

解决CSS选择器提取最后一个<li>返回空的问题
  • 问题根源:last-child、nth-child是针对父元素的所有子元素进行匹配,若<ul>中除了<li>还有其他隐藏元素(比如注释、文本节点、非<li>标签),最后一个子元素可能不是目标<li>,导致选择器匹配失败。
  • 替代方案:使用last-of-type选择器,它专门匹配父元素中同类型标签的最后一个实例,不受其他子元素干扰:
    foo.css("ul.SearchResultCard__footerList > li:last-of-type > span::text").get()
    
  • 额外验证方法:如果不确定<ul>内的子元素结构,可以先打印所有子元素确认:
    for child in foo.css("ul.SearchResultCard__footerList > *"):
        print(child.get())
    
    这样能直观看到是否有非<li>的子元素干扰了last-child的匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:22:06