mirror of
https://github.com/NanmiCoder/MediaCrawler.git
synced 2026-03-04 13:10:48 +08:00
JSONL(JSON Lines)每行一个 JSON 对象,采用 append 模式写入, 无需读取已有数据,大数据量下性能远优于 JSON 格式。 - 新增 AsyncFileWriter.write_to_jsonl() 核心方法 - 7 个平台新增 JsonlStoreImplement 类并注册到工厂 - 配置默认值从 json 改为 jsonl,CLI/API 枚举同步更新 - db_session.py 守卫条件加入 jsonl,避免误触 ValueError - 词云生成支持读取 JSONL 文件,优先 jsonl 回退 json - 原有 json 选项完全保留,向后兼容 - 更新相关文档和测试
2.7 KiB
2.7 KiB
数据保存指南 / Data Storage Guide
💾 数据保存
MediaCrawler 支持多种数据存储方式,您可以根据需求选择最适合的方案:
存储方式
- CSV 文件:支持保存到 CSV 中(
data/目录下) - JSON 文件:支持保存到 JSON 中(
data/目录下) - JSONL 文件:支持保存到 JSONL 中(
data/目录下)— 默认格式,每行一个 JSON 对象,追加写入性能好 - Excel 文件:支持保存到格式化的 Excel 文件(
data/目录下)✨ 新功能- 多工作表支持(内容、评论、创作者)
- 专业格式化(标题样式、自动列宽、边框)
- 易于分析和分享
- 数据库存储
- 使用参数
--init_db进行数据库初始化(使用--init_db时不需要携带其他optional) - SQLite 数据库:轻量级数据库,无需服务器,适合个人使用(推荐)
- 初始化:
--init_db sqlite - 数据存储:
--save_data_option sqlite
- 初始化:
- MySQL 数据库:支持关系型数据库 MySQL 中保存(需要提前创建数据库)
- 初始化:
--init_db mysql - 数据存储:
--save_data_option db(db 参数为兼容历史更新保留)
- 初始化:
- PostgreSQL 数据库:支持高级关系型数据库 PostgreSQL 中保存(推荐生产环境使用)
- 初始化:
--init_db postgres - 数据存储:
--save_data_option postgres
- 初始化:
- 使用参数
使用示例
# 使用 Excel 存储数据(推荐用于数据分析)✨ 新功能
uv run main.py --platform xhs --lt qrcode --type search --save_data_option excel
# 初始化 SQLite 数据库
uv run main.py --init_db sqlite
# 使用 SQLite 存储数据
uv run main.py --platform xhs --lt qrcode --type search --save_data_option sqlite
# 初始化 MySQL 数据库
uv run main.py --init_db mysql
# 使用 MySQL 存储数据(为适配历史更新,db参数进行沿用)
uv run main.py --platform xhs --lt qrcode --type search --save_data_option db
# 初始化 PostgreSQL 数据库
uv run main.py --init_db postgres
# 使用 PostgreSQL 存储数据
uv run main.py --platform xhs --lt qrcode --type search --save_data_option postgres
# 使用 CSV 存储数据
uv run main.py --platform xhs --lt qrcode --type search --save_data_option csv
# 使用 JSON 存储数据
uv run main.py --platform xhs --lt qrcode --type search --save_data_option json
# 使用 JSONL 存储数据(默认格式,无需指定)
uv run main.py --platform xhs --lt qrcode --type search --save_data_option jsonl
详细文档
- Excel 导出详细指南:查看 Excel 导出指南
- 数据库配置:参考 常见问题