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

Web scraping:如何用BeautifulSoup提取目标span文本排除标题内容

问题原因

你当前使用find('span')仅能匹配到目标div下的第一个span节点,也就是包含Faith:的节点,自然无法拿到后续的目标文本。

解决方案

方法1:按节点顺序切片跳过首节点

适合页面结构固定、目标span始终排在除首节点外的场景:

faithdiv = soup.find('div', class_='spec-subcat attributes-religion')
# 获取div下所有span节点,跳过第一个带Faith:的节点
faith_spans = faithdiv.find_all('span')[1:]
# 提取所有目标文本存入列表
faith_list = [span.text.strip() for span in faith_spans]

最终faith_list的输出为['Christian', 'Islam'],如果需要拼接为字符串可以用','.join(faith_list)实现。

方法2:通过类名过滤排除无关节点

容错性更高,不受span排序变化影响:

faithdiv = soup.find('div', class_='spec-subcat attributes-religion')
# 直接筛选div下所有不带h5类的span节点
faith_spans = faithdiv.select('span:not(.h5)')
faith_list = [span.text.strip() for span in faith_spans]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:36:02