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

如何提取HTML文件中特定固定字符串后的可变内容并存入CSV?

提取HTML中唯一前置固定字符串后的可变内容并写入CSV

一、纯字符串匹配(适合结构简单的HTML)

因为你的前置固定字符串仅出现一次,直接用字符串定位就能快速提取内容,不用复杂解析。

举个实际例子,假设你的HTML里有唯一的固定串【用户信息开始】,可变内容直到【用户信息结束】截止:

# 读取HTML文件
with open('your_file.html', 'r', encoding='utf-8') as f:
    html_text = f.read()

# 替换成你的实际固定串和结束标记
fixed_prefix = "【用户信息开始】"
end_marker = "【用户信息结束】"

# 定位内容起始和结束位置
start_pos = html_text.find(fixed_prefix) + len(fixed_prefix)
end_pos = html_text.find(end_marker, start_pos)

# 提取并清理内容
target_content = html_text[start_pos:end_pos].strip()

如果没有明确的结束标记,也可以根据换行、特定字符截取,比如取固定串后的第一行:

target_content = html_text[start_pos:].split('\n')[0].strip()

二、HTML解析库提取(适合复杂/规范HTML)

如果HTML结构规范,用BeautifulSoup解析更稳妥,避免字符串匹配的容错问题。比如固定串在某个标签内,后面跟着的标签就是可变内容:

from bs4 import BeautifulSoup

with open('your_file.html', 'r', encoding='utf-8') as f:
    soup = BeautifulSoup(f, 'html.parser')

# 找到包含固定串的元素(替换成你的实际固定文本)
prefix_tag = soup.find(string="订单编号:")
# 根据HTML结构获取后续的可变内容标签,比如下一个兄弟span
target_tag = prefix_tag.find_next_sibling('span')
target_content = target_tag.get_text(strip=True)

如果固定串是标签属性,比如<div class="fixed-label">姓名:</div>,也可以通过class定位:

prefix_tag = soup.find('div', class_='fixed-label', string="姓名:")
target_content = prefix_tag.find_next('div', class_='variable-content').get_text(strip=True)

三、写入CSV文件

拿到目标内容和其他变量后,用Python内置的csv模块写入即可:

import csv

# 假设你还有其他需要存储的变量
other_data = {"user_id": "U001", "create_time": "2024-05-20 14:30"}

# 准备数据行
row_data = [other_data["user_id"], target_content, other_data["create_time"]]

# 写入CSV('w'是覆盖模式,'a'是追加模式)
with open('result.csv', 'w', newline='', encoding='utf-8') as csv_file:
    writer = csv.writer(csv_file)
    # 先写入表头(第一次运行时执行,之后可以注释掉)
    writer.writerow(["用户ID", "目标内容", "创建时间"])
    writer.writerow(row_data)

注意事项

  • 处理文件时一定要指定正确的编码(比如utf-8、gbk),避免乱码
  • 如果批量处理多个HTML文件,把提取逻辑封装成函数,循环遍历文件列表即可
  • 若可变内容包含HTML标签,需要用get_text()或stripped_strings清理掉标签

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:05:24