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

如何从BeautifulSoup结果中移除<a>标签并提取纯文本内容

问题分析

你当前的代码把整个<a>标签对象直接转换成字符串,所以输出的是完整的HTML标签内容,而非标签内部的纯文本。问题就出在这一行:

names.append(str(x))

修改后的代码

只需要把str(x)替换成BeautifulSoup提供的get_text()方法,就能轻松获取标签内的纯文本;如果想清理文本前后的空格、换行,还可以加上strip=True参数:

import requests
from bs4 import BeautifulSoup
page = requests.get("http://www.acbbroker.it/soci_dettaglio.php?r=3")
soup = BeautifulSoup(page.content, 'html.parser')
test = soup.find(id="paginainterna-content")
test_items = test.find_all(class_="entry-content")
tonight = test_items[0]
names = []
for x in tonight.find_all('a', itemprop="url"):
    # 提取纯文本并清理多余空白符
    names.append(x.get_text(strip=True))
print(names)

为什么这样有效?

  • get_text()是BeautifulSoup专门用于提取标签内部文本的方法,会自动忽略所有标签属性(比如href、itemprop),只保留文字内容。
  • strip=True参数会移除文本前后的换行、空格、制表符等空白字符,让输出的列表更整洁。

修改后的示例输出

执行修改后的代码,你会得到纯文本组成的列表:

['A&B; Insurance e Reinsurance Brokers Srl', 'A.B.A. BROKERS SRL', 'ABC SRL BROKER E CONSULENTI DI ASSI.NE', 'AEGIS INTERMEDIA SAS']

内容的提问来源于stack exchange,提问作者J. Malik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:11:32