refactor(database): 重构数据库存储实现,使用SQLAlchemy ORM替代原始SQL操作

- 删除旧的async_db.py和async_sqlite_db.py实现
- 新增SQLAlchemy ORM模型和数据库会话管理
- 统一各平台存储实现到_store_impl.py文件
- 添加数据库初始化功能支持
- 更新.gitignore和pyproject.toml依赖配置
- 优化文件存储路径和命名规范
This commit is contained in:
persist-1
2025-09-06 04:10:20 +08:00
parent fa5f07e9ee
commit be306c6f54
46 changed files with 3362 additions and 6117 deletions

14
main.py
View File

@@ -50,16 +50,24 @@ class CrawlerFactory:
crawler: Optional[AbstractCrawler] = None
# persist-1<persist1@126.com>
# 原因:增加 --init-db 功能,用于数据库初始化。
# 副作用:无
# 回滚策略:还原此文件。
async def main():
# Init crawler
global crawler
# parse cmd
await cmd_arg.parse_cmd()
args = await cmd_arg.parse_cmd()
# init db
if config.SAVE_DATA_OPTION in ["db", "sqlite"]:
await db.init_db()
if args.init_db:
await db.init_db(args.init_db)
print(f"Database {args.init_db} initialized successfully.")
return # Exit the main function cleanly
crawler = CrawlerFactory.create_crawler(platform=config.PLATFORM)
await crawler.start()