# all-source **Repository Path**: xinyi-codeing/all-source ## Basic Information - **Project Name**: all-source - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-05 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 金融评论爬虫 针对小红书、抖音、微博等主流平台,爬取金融、信贷咨询、负债等相关帖子和评论数据。 ## 项目结构 ``` ├── main.py # 主程序入口(CLI) ├── config.py # 全局配置(关键词、平台参数、数据库) ├── models.py # 数据库模型(SQLAlchemy) ├── storage.py # 数据存储 & 导出模块 ├── xiaohongshu_spider.py # 小红书爬虫 ├── douyin_spider.py # 抖音爬虫 ├── weibo_spider.py # 微博爬虫 ├── requirements.txt # 依赖清单 ├── .env.example # 环境变量示例 ├── .env # 本地环境变量(不提交) ├── finance_comments.db # SQLite 数据库(运行后自动生成) └── output/ # 导出文件目录 ``` ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置环境变量 复制 `.env.example` 为 `.env`,并填入各平台的 Cookie: ```bash cp .env.example .env ``` **如何获取 Cookie:** 1. 在浏览器(Chrome)中打开对应平台并登录 2. 按 F12 打开开发者工具 → Network 标签 3. 刷新页面,找到任意 XHR/Fetch 请求 4. 在请求头 (Request Headers) 中复制 `Cookie` 字段的完整值 5. 填入 `.env` 对应变量 **小红书额外说明:** 小红书 API 请求需要 `x-s` / `x-t` 签名参数(由前端 JS 生成),需从浏览器请求头中一并复制填入。 ### 3. 运行爬虫 ```bash # 爬取全部平台(使用默认关键词) python main.py crawl # 只爬取小红书 python main.py crawl --platform xhs # 只爬取抖音,指定关键词,最多爬 5 页 python main.py crawl --platform douyin --keywords "负债,网贷逾期,信用卡还款" --max-pages 5 # 只爬取微博 python main.py crawl --platform weibo ``` ### 4. 查看统计 ```bash python main.py stats ``` ### 5. 导出数据 ```bash # 导出全部平台数据(CSV + Excel) python main.py export # 只导出小红书数据,仅 CSV 格式 python main.py export --platform xhs --format csv ``` 导出文件保存在 `output/` 目录。 ## 默认关键词 配置文件 `config.py` 中预设了以下金融相关关键词: - 负债、还款、贷款、信贷、欠债、债务、催收 - 网贷、信用卡、逾期、征信、黑名单、花呗、借呗 - 小额贷款、消费贷、抵押贷款、车贷、房贷、助贷 - 债务重组、债务优化、征信修复、停息挂账、债务协商 - 怎么还清、还不起、债务压力、被催收、上征信... ## 数据库 默认使用 SQLite(`finance_comments.db`),无需额外安装。 | 表名 | 说明 | |------|------| | `posts` | 帖子 / 视频信息 | | `comments` | 评论数据(含子评论)| | `crawl_logs` | 爬取任务日志 | 如需切换 MySQL,修改 `.env` 中 `DB_TYPE=mysql` 并配置 `MYSQL_URL`。 ## 反爬注意事项 | 平台 | 主要挑战 | 建议方案 | |------|----------|----------| | 小红书 | 需要 `x-s` / `x-t` 动态签名 | 从浏览器请求头中复制,定期更新 | | 抖音 | 需要 `X-Bogus` / `msToken` | 从浏览器请求头中复制,可接入签名库 | | 微博 | 需要登录态 Cookie | 登录后复制 Cookie 即可 | **通用建议:** - 合理设置请求间隔(已内置随机延迟 2~6 秒) - 使用代理池(在 `config.py` 中配置 `PROXY_CONFIG`) - Cookie 失效后及时更新 ## 免责声明 本项目仅供学习和研究使用,请遵守各平台用户协议及相关法律法规,勿用于商业用途或大规模抓取。