## 项目代码结构 ``` MediaCrawler ├── base │ └── base_crawler.py # 项目的抽象类 ├── browser_data # 换成用户的浏览器数据目录 ├── config │ ├── account_config.py # 账号代理池配置 │ ├── base_config.py # 基础配置 │ └── db_config.py # 数据库配置 ├── data # 数据保存目录 ├── libs │ ├── douyin.js # 抖音Sign函数 │ └── stealth.min.js # 去除浏览器自动化特征的JS ├── media_platform │ ├── douyin # 抖音crawler实现 │ ├── xhs # 小红书crawler实现 │ ├── bilibili # B站crawler实现 │ └── kuaishou # 快手crawler实现 ├── modles │ ├── douyin.py # 抖音数据模型 │ ├── xiaohongshu.py # 小红书数据模型 │ ├── kuaishou.py # 快手数据模型 │ └── bilibili.py # B站数据模型 ├── tools │ ├── utils.py # 暴露给外部的工具函数 │ ├── crawler_util.py # 爬虫相关的工具函数 │ ├── slider_util.py # 滑块相关的工具函数 │ ├── time_util.py # 时间相关的工具函数 │ └── easing.py # 模拟滑动轨迹相关的函数 ├── db.py # DB ORM ├── main.py # 程序入口 ├── var.py # 上下文变量定义 └── recv_sms_notification.py # 短信转发器的HTTP SERVER接口 ```