You need to enable JavaScript to run this app. 使用BeautifulSoup提取span标签内容,如何仅获取标签内的纯文本?
优惠活动
大模型
产品
解决方案
定价
更多

使用BeautifulSoup提取span标签内容,如何仅获取标签内的纯文本?

解决方法

你使用的select()方法返回的是符合CSS选择器的标签元素列表,所以输出会包含完整的标签结构,只需两步即可提取到span标签内的纯文本内容:

  • 首先从返回的列表中取出第一个匹配的span元素(你的选择器仅匹配到1个元素,用索引[0]取值即可)
  • 调用元素的.text属性或者.get_text()方法提取内部纯文本

代码修改示例

直接在原有select语句后追加取值逻辑即可:

soup = BeautifulSoup(driver.page_source, 'html.parser')
text_intro = soup.find( 'div', { 'id' : 'gerais' } )
# 先取列表第一个元素,再提取文本
usernam = soup.select('#main > aside > div > div:nth-child(2) > span:nth-child(3) ')[0].text

# 注意原代码此处变量名拼写错误,texto_intro应改为text_intro,否则会触发NameError
print( '', 'Result_text_intro -> ', text_intro )
print( '', 'Result_usernam -> ', usernam )

如果需要避免匹配不到元素时触发索引越界报错,可以增加判断逻辑:

usernam_list = soup.select('#main > aside > div > div:nth-child(2) > span:nth-child(3) ')
if usernam_list:
    # strip()方法可顺带去除文本首尾的空格、换行符等多余内容
    usernam = usernam_list[0].text.strip()
else:
    # 可自定义未匹配到内容时的默认值
    usernam = "未匹配到用户名"

修改后运行代码,输出的usernam就会是纯文本(TestUser)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 01:48:02