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

Python如何用BeautifulSoup提取同名class下span标签内的Resale文本

页面结构示例

实现代码

你可以直接沿用现有try-except逻辑调整匹配规则即可,以下是适配不同页面结构的几种写法:

写法1:匹配li标签内直接包含Resale文本的场景

try:
    resale_val = item.find("li", {"class": "keypoint"}, string=lambda t: t and "Resale" in t).text.strip()
    print("Resale :", resale_val)
except AttributeError:
    print("Resale :", None)

写法2:Resale文本在li标签内部的span标签中的场景

try:
    li_node = item.find("li", {"class": "keypoint"})
    resale_val = li_node.find("span", string=lambda t: t and "Resale" in t).text.strip()
    print("Resale :", resale_val)
except AttributeError:
    print("Resale :", None)

写法3:如果Resale对应的li有固定title属性,可直接套用原有逻辑

把代码里的对应title值替换成实际页面里该li的title属性值即可:

try:
    print("Resale :", item.find("li", {'class': "keypoint", "title": "对应title值"}).text.strip())
except AttributeError:
    print("Resale :", None)

注意事项

  • 只捕获AttributeError而非所有异常,可避免吞掉代码拼写错误、变量未定义等问题,更方便调试
  • .strip()方法用于去除文本前后多余的空格、换行符,返回格式规整的结果
  • 匹配文本用lambda先判断text不为空,可避免空文本匹配时报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:54:02