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

如何用BeautifulSoup将提取的文本分组为二元元组列表

解决方法

步骤拆解

  1. 分组处理提取到的文本:你的提取结果是按「公司名 → 雇佣描述 → 职位数」循环出现的,先把整个文本列表按每3个元素为一组拆分。
  2. 正则提取职位数字:针对每组里的职位数字符串(比如82 jobs),用正则匹配出其中的数字部分。
  3. 组装目标列表:把每组的公司名和提取到的数字组成二元元组,最终收集成列表。

代码实现

import re
from bs4 import BeautifulSoup

# 假设这是你用BeautifulSoup提取到的文本列表
extracted_texts = [
    "LexisNexis",
    "3 people from your school were hired here",
    "82 jobs",
    "AbacusNext",
    "5 people from your school were hired here",
    "24 jobs",
    "Aderant",
    "2 people from your school were hired here",
    "38 jobs"
]

# 按每3个元素一组拆分
company_groups = [extracted_texts[i:i+3] for i in range(0, len(extracted_texts), 3)]

result = []
for group in company_groups:
    company_name = group[0].strip()
    # 用正则提取职位数字:匹配字符串中的所有数字,取第一个
    job_count = re.findall(r'\d+', group[2])[0]
    result.append((company_name, job_count))

print(result)

输出结果

[('LexisNexis', '82'), ('AbacusNext', '24'), ('Aderant', '38')]

补充说明

  • 如果提取到的文本分组不是严格的3个一组,可以先做过滤(比如去掉空字符串、无关文本)再分组。
  • 正则r'\d+'会匹配连续的数字,能兼容类似100+ jobs或1,200 jobs的格式(如果是带逗号的数字,后续可以加一步替换逗号再转成整数)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 04:45:30