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

如何提取通过class选中的BeautifulSoup元素中的文本?

解决BeautifulSoup提取纯文本的问题

你用find_all拿到的是匹配到的Tag对象列表,每个对象包含完整的HTML标签结构,要提取里面的纯文本,直接调用Tag对象的.text或者.get_text()属性就行。

两种处理方式:

  1. 遍历find_all返回的列表,逐个提取文本

    item_store = soup.find_all("div", {"class": "item-name"})
    # 提取所有匹配元素的文本
    item_texts = [item.text for item in item_store]
    # 或者带去空格的版本
    item_texts_stripped = [item.get_text(strip=True) for item in item_store]
    
  2. 如果只需要第一个匹配的元素,用find更高效

    item = soup.find("div", {"class": "item-name"})
    if item:  # 先判断是否找到元素,避免报错
        target_text = item.text
        # 或者去空格
        target_text_stripped = item.get_text(strip=True)
    

补充说明:

  • .text会直接返回标签内的所有文本,包括子标签的文本(如果有的话)
  • .get_text(strip=True)可以自动去除文本前后的空白字符,比如换行、空格,适合需要干净文本的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:10:25