如何将HTM文件转换为TXT
HTM和HTML是同一种网页文件格式,很多场景下我们需要把HTM文件里的纯文本内容提取出来,转换为TXT格式方便后续编辑、分析或者存储。接下来会介绍几种常用的方法,覆盖不同用户的使用需求。
方法一:使用浏览器手动提取
这是最简单不需要额外安装工具的方法,适合偶尔转换单个文件的情况。步骤如下:
- 用任意浏览器(比如Chrome、Edge、Firefox)打开需要转换的HTM文件
- 按下快捷键Ctrl+A全选页面内容,再按下Ctrl+C复制选中的内容
- 打开系统自带的记事本或者其他文本编辑器,按下Ctrl+V粘贴内容
- 删除多余的空行、格式标记等无关内容,最后保存为TXT格式即可
这种方法操作简单,但如果有大量HTM文件需要转换,手动操作效率会很低,而且可能会残留部分网页格式的冗余内容。
方法二:使用Python脚本批量转换
如果需要批量处理多个HTM文件,用Python编写脚本自动转换会更高效。我们可以借助html.parser模块解析HTM文件,提取其中的文本内容。
首先确保你已经安装了Python环境,然后创建如下脚本文件:
import os
from html.parser import HTMLParser
class TextExtractor(HTMLParser):
def __init__(self):
super().__init__()
self.text_parts = []
self.skip_tags = {'script', 'style', 'noscript'} # 不需要提取内容的标签
self.current_skip = False
def handle_starttag(self, tag, attrs):
if tag in self.skip_tags:
self.current_skip = True
def handle_endtag(self, tag):
if tag in self.skip_tags:
self.current_skip = False
def handle_data(self, data):
if not self.current_skip:
# 去除空白字符后如果内容不为空再添加
cleaned = data.strip()
if cleaned:
self.text_parts.append(cleaned)
def get_text(self):
return '\n'.join(self.text_parts)
def htm_to_txt(htm_path, txt_path):
"""将单个HTM文件转换为TXT文件"""
with open(htm_path, 'r', encoding='utf-8', errors='ignore') as f:
content = f.read()
parser = TextExtractor()
parser.feed(content)
text = parser.get_text()
with open(txt_path, 'w', encoding='utf-8') as f:
f.write(text)
print(f"转换完成:{htm_path} -> {txt_path}")
def batch_convert(htm_dir, txt_dir):
"""批量转换指定目录下的所有HTM文件"""
if not os.path.exists(txt_dir):
os.makedirs(txt_dir)
for filename in os.listdir(htm_dir):
if filename.lower().endswith(('.htm', '.html')):
htm_path = os.path.join(htm_dir, filename)
txt_filename = os.path.splitext(filename)[0] + '.txt'
txt_path = os.path.join(txt_dir, txt_filename)
try:
htm_to_txt(htm_path, txt_path)
except Exception as e:
print(f"转换{filename}失败:{e}")
if __name__ == '__main__':
# 修改下面的路径为你的实际路径
htm_folder = './htm_files' # HTM文件所在的目录
txt_folder = './txt_files' # 转换后TXT文件保存的目录
batch_convert(htm_folder, txt_folder)脚本中定义了TextExtractor类继承HTMLParser,会自动跳过<script>、<style>这类不需要提取内容的标签,只保留网页中的可见文本。使用时只需要把htm_folder和txt_folder修改为实际的目录路径,运行脚本就可以批量完成转换。
方法三:使用在线转换工具
如果不想编写代码,也可以使用在线转换工具快速处理。打开浏览器访问ipipp.com相关的在线文件转换站点,找到HTM转TXT的功能入口,上传需要转换的HTM文件,等待处理完成后下载生成的TXT文件即可。不过需要注意,如果HTM文件包含敏感内容,不建议使用在线工具,避免信息泄露。
注意事项
- 转换后的TXT文件可能会残留部分网页分页、导航相关的重复文本,需要手动检查调整
- 如果HTM文件使用特殊的编码格式,比如GBK,在读取文件时需要对应修改编码参数,避免乱码
- 批量转换前建议先备份原始的HTM文件,防止转换过程中出现意外导致文件损坏