Python 爬虫数据存储:TXT 文本存储指南
爬虫小白练手、临时项目存中间量、不想折腾依赖时,TXT 是你逃不开的「轻量级救星」——但怎么存才既快又清晰不丢数据?这篇给你讲透。
1. 为什么选 TXT?
别小瞧这个上世纪就有的格式,它有三个不可替代的核心优势:
- 零门槛上手:不需要装任何库(json/csv/pandas 啥的都不用),Python 原生
open()就能用 - 全平台通吃:Windows 记事本、Mac 文本编辑、Linux cat 命令,随便打开随便看
- 绝对轻量无冗余:没有 schema、没有表头、没有编码锁(虽然要强制指定utf-8防乱码)
当然缺点也很明显:
- 没办法快速按「评分>9」「科幻片」这种条件筛选
- 很难自动验证数据完整性(比如漏爬了上映时间会不会发现?)
- 大文件打开卡顿,修改效率极低
适合场景
✅ 爬虫练手验证爬取结果
✅ 短期临时存 JSON/CSV 之前的「过渡数据」
✅ 简单的调试日志记录
❌ 结构化数据检索与统计
❌ 长期数据持久化
❌ 百万级以上数据量处理
2. 实战示例:爬取示例电影网站存 TXT
直接用真实公开的爬虫练习网站 https://ssr1.scrape.center/ 演示,爬首页10部电影的「名称、类型、上映时间、评分」,最后生成易读、带分隔线、UTF-8编码的 TXT。
2.1 完整可运行代码
2.2 代码亮点拆解
相比网上随便搜的「入门TXT爬虫代码」,这版做了几个实用改进:
- 类型注解清晰:
-> List[Dict]这种标注,写的时候不容易传参错,看的时候也一眼懂返回值 - 完善的错误分支:分成「请求失败」和「解析失败」,调试的时候不用瞎猜
- 强制指定UTF-8编码:彻底解决Windows记事本默认GBK打开乱码的问题
- 带序号、标签、强分隔线的输出:肉眼扫一遍就能快速找到想看的电影
- 先检查数据再保存:避免生成空文件
3. 必懂的Python TXT文件操作
前面实战用了 w 写入模式,但TXT还有很多其他玩法,核心是掌握打开模式、with语句、编码规范这三点。
3.1 核心打开模式对照表
⚠️ 新手踩坑提醒:不要用 w 模式去「修改已有文件的某一行」——直接用 r+ 或者「读取全部→修改→覆盖写入」更安全。
3.2 高级常用操作
3.2.1 增量追加模式(爬虫爬多页时最常用)
3.2.2 批量写入提升性能
如果要写10000条以上的数据,别用 for 循环一条一条 f.write()——用 f.writelines() 更省时间:
4. 安全避坑指南
虽然TXT很简单,但也有几个容易踩的「小雷」:
- 乱码雷:不管什么平台,只要是文本文件就必须加
encoding='utf-8' - 路径雷:Windows用
\分隔路径,Mac/Linux用/——用pathlib.Path自动适配所有平台: - 权限雷:如果存的是敏感数据,给文件加个权限:
5. 总结
TXT 不是万能的,但在「快速验证、临时过渡、轻量日志」这三个场景下,它绝对是性价比最高的选择。如果后续需要结构化检索,可以很容易把TXT转成JSON/CSV或者存入SQLite数据库——这也是我们下一篇要讲的内容~
你平时用TXT存过什么爬虫数据?欢迎在评论区交流😉

