1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"repo": "boyuxiao/toutiao-auto-publisher", "files": {"README.md": {"6848d8829f0d61d6affd6c929d582ba8a5e148fd": {"t": 1785747261.2659721, "n": 5231, "h": "3a896a048752115c", "c": "# 今日头条自动化内容发布系统\n\n一个基于 AI 的自动化内容创作和发布系统,能够自动爬取热点话题、生成高质量文章、创建配图,并自动发布到今日头条平台。\n\n## ✨ 功能特性\n\n- 🔥 **热点爬取**:自动从 46LA 等平台爬取实时热点话题\n- 🤖 **AI 文章生成**:使用 DeepSeek AI 生成高质量、符合平台调性的文章内容\n- 🎨 **智能配图生成**:基于腾讯混元 API 自动生成文章封面图\n- 🛡️ **内容过滤**:自动过滤政治敏感内容,确保内容安全\n- 📝 **自动发布**:使用 Selenium 自动化发布文章到今日头条\n- ⏰ **智能调度**:支持自定义发布间隔,避免频繁操作\n- 📊 **发布记录**:自动记录已发布文章,支持断点续传\n\n## 📋 系统要求\n\n- Python 3.7+\n- Chrome 浏览器(用于 Selenium 自动化)\n- 以下 API 密钥:\n - DeepSeek API Key(用于文章生成和内容过滤)\n - 腾讯云混元 API(SecretId 和 SecretKey,用于图片生成)\n- 今日头条账号 Cookie(用于自动登录)\n\n## 🚀 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/BoyuXiao/toutiao-auto-publisher.git\ncd toutiao-auto-publisher\n```\n\n### 2. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 3. 配置环境变量\n\n创建 `config.py` 文件(可复制 `config.example.py`):\n\n```bash\ncp config.example.py config.py\n```\n\n编辑 `config.py` 或设置环境变量:\n\n```bash\n# Windows (PowerShell)\n$env:DEEPSEEK_API_KEY=\"your_deepseek_api_key\"\n$env:IMAGE_API_SECRET_ID=\"your_tencent_secret_id\"\n$env:IMAGE_API_SECRET_KEY=\"your_tencent_secret_key\"\n\n# Linux/Mac\nexport DEEPSEEK_API_KEY=\"your_deepseek_api_key\"\nexport IMAGE_API_SECRET_ID=\"your_tencent_secret_id\"\nexport IMAGE_API_SECRET_KEY=\"your_tencent_secret_key\"\n```\n\n### 4. 配置 Cookie\n\n1. 登录今日头条创作者平台(https://mp.toutiao.com/)\n2. 使用浏览器开发者工具导出 Cookie(JSON 格式)\n3. 将 Cookie 保存到 `cookies/toutiao.json`\n\nCookie 文件格式示例(参考 `cookies/toutiao.json.example`):\n\n```json\n[\n {\n \"name\": \"sessionid\",\n \"value\": \"your_cookie_value\",\n \"domain\": \".toutiao.com\",\n \"path\": \"/\",\n \"secure\": false,\n \"httpOnly\": false\n }\n]\n```\n\n### 5. 运行程序\n\n#### 模式 1:只爬取和过滤热点\n\n```bash\npython main.py --mode crawl --crawl-limit 100\n```\n\n#### 模式 2:只生成并发布文章(从已有热搜数据)\n\n```bash\npython main.py --mode publish --hot-searches-file filtered_hot_searches.json\n```\n\n#### 模式 3:完整流程(推荐)\n\n```bash\npython main.py --mode full --crawl-limit 100 --publish-delay 900\n```\n\n## 📖 详细使用说明\n\n### 命令行参数\n\n#### 通用参数\n\n- `--mode`: 运行模式\n - `crawl`: 只爬取和过滤热点\n - `publish`: 只生成并发布文章\n - `full`: 完整流程(默认)\n\n#### 爬取参数\n\n- `--crawl-limit`: 爬取热点的最大数量(默认:100)\n- `--hot-searches-file`: 热搜数据 JSON 文件路径(默认:`filtered_hot_searches.json`)\n\n#### 生成和发布参数\n\n- `--generate-limit`: 限制生成的文章数量(默认:不限制)\n- `--generate-delay`: 生成文章时的 API 调用间隔秒数(默认:1.5)\n- `--publish-delay`: 发布文章后的等待间隔秒数(默认:900,即 15 分钟)\n- `--cookies`: Cookie 文件路径(默认:`cookies/toutiao.json`)\n- `--headless`: 使用无头浏览器模式\n- `--article-dir`: 文章保存目录(默认:`generated_articles`)\n\n#### 封面配置参数\n\n- `--cover-mode`: 封面处理方式\n - `none`: 不上传封面\n - `generate`: 自动生成上传(默认)\n- `--cover-style`: 封面风格编号(参考混元文生图 Style 参数)\n- `--cover-resolution`: 封面分辨率,如 `1024:1024`\n- `--cover-negative`: 封面反向提示词\n- `--cover-logo`: 封面是否加水印(1=加,0=不加,默认:0)\n\n### 使用示例\n\n#### 示例 1:完整流程,发布间隔 30 分钟\n\n```bash\npython main.py --mode full --crawl-limit 50 --publish-delay 1800\n```\n\n#### 示例 2:无头模式,不生成封面\n\n```bash\npython main.py --mode publish --headless --cover-mode none\n```\n\n#### 示例 3:自定义封面风格和分辨率\n\n```bash\npython main.py --mode publish --cover-style 201 --cover-resolution 1024:1024\n```\n\n#### 示例 4:限制生成 5 篇文章\n\n```bash\npython main.py --mode publish --generate-limit 5\n```\n\n## 📁 项目结构\n\n```\n.\n├── main.py # 主程序入口\n├── config.py # 配置文件\n├── config.example.py # 配置文件示例\n├── requirements.txt # Python 依赖\n├── README.md # 本文件\n│\n├── ai_analyzer.py # AI 文章生成模块\n├── hot_topic_finder.py # 热点爬取模块\n├── image_generator.py # 图片生成模块\n├── publisher.py # 发布模块\n├── utils.py # 工具函数\n│\n├── cookies/ # Cookie 目录\n│ ├── toutiao.json.example # Cookie 文件示例\n│ └── toutiao.json # 真实 Cookie\n│\n├── generated_articles/ # 生成的文章\n├── generated_images/ # 生成的图片\n└── logs/ # 日志文件\n```\n\n## ⚙️ 配置说明\n\n### API 配置\n\n在 `config.py` 中配置以下内容:\n\n- **DeepSeek API**:用于文章生成和内容过滤\n- **腾讯混元 API**:用于图片生成\n- **文章生成提示词**:可自定义文章生成风格和要求\n- **图片生成提示词**:可自定义图片生成风格\n\n### 发布配置\n\n- **发布间隔**:建议设置为 15-30 分钟,避免被平台判定为异常行为\n- **封面模式**:可选择不生成封面或自动生成封面\n\n## 🔒 安全注意事项\n\n1. **不要提交敏感信息**:\n - `config.py` 包含 API 密钥,已添加到 `.gitignore`\n - `cookies/toutiao.json` 包含登录凭证,已添加到 `.gitignore`\n - 日志文件可能包含敏感信息,已添加到 `.gitignore`\n\n2. **定期更新 Cookie**:\n - Cookie 可能会过期,需要定期更新\n - 如果登录失败,请重新导出 Cookie\n\n3. **API 密钥安全**:\n - 建议使用环境变量而非直接写在配置文件中\n - 不要在公开场合分享 API 密钥\n\n## 🐛 常见问题\n\n### Q1: Cookie 已失效怎么办?\n\nA: 重新登录今日头条创作者平台,使用浏览器开发者工具导出新的 Cookie,替换 `cookies/toutiao.json` 文件。\n\n### Q2: 封面生成失败怎么办?\n\nA: 检查腾讯混元 API 配置是否正确,确保 SecretId 和 SecretKey 有效。系统会自动重试 3 次,如果仍然失败会跳过该文章。\n\n### Q3: 发布失败怎么办?\n\nA: 检查以下几点:\n- Cookie 是否有效\n- 网络连接是否正常\n- 浏览器驱动是否正确安装\n- 查看日志文件了解详细错误信息\n\n### Q4: 如何跳过已发布的文章?\n\nA: 使用 `--mode publish` 模式时,系统会自动跳过 `published_articles.json` 中记录的已发布文章。\n\n### Q5: 如何修改文章生成风格?\n\nA: 编辑 `config.py` 中的 `ARTICLE_GENERATION_PROMPT_TEMPLATE` 变量,修改提示词模板。\n\n## 📝 日志说明\n\n日志文件保存在 `logs/` 目录下,按日期命名(如 `app_20251120.log`)。日志级别可在 `config.py` 中配置:\n\n- `DEBUG`: 详细调试信息\n- `INFO`: 一般信息(默认)\n- `WARNING`: 警告信息\n- `ERROR`: 错误信息\n- `CRITICAL`: 严重错误\n\n## 🤝 贡献指南\n\n欢迎提交 Issue 和 Pull Request!\n\n1. Fork 本仓库\n2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 开启 Pull Request\n\n## 📄 许可证\n\n本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。\n\n## ⚠️ 免责声明\n\n本工具仅供学习和研究使用。使用本工具时,请遵守:\n\n1. 今日头条平台的服务条款\n2. 相关法律法规\n3. AI 生成内容的版权和使用规范\n\n使用者需自行承担使用本工具产生的所有责任和风险。\n\n---\n\n**祝您使用愉快!** 🎉\n\n"}, "da662be62e40982d8f73dc8458f73c167aceb127": {"t": 1785771957.1476734, "n": 5185, "h": "c5780ccd515fc7fa", "c": "# 今日头条自动化内容发布系统\n\n一个基于 AI 的自动化内容创作和发布系统,能够自动爬取热点话题、生成高质量文章、创建配图,并自动发布到今日头条平台。\n\n## ✨ 功能特性\n\n- 🔥 **热点爬取**:自动从 46LA 等平台爬取实时热点话题\n- 🤖 **AI 文章生成**:使用 DeepSeek AI 生成高质量、符合平台调性的文章内容\n- 🎨 **智能配图生成**:基于腾讯混元 API 自动生成文章封面图\n- 🛡️ **内容过滤**:自动过滤政治敏感内容,确保内容安全\n- 📝 **自动发布**:使用 Selenium 自动化发布文章到今日头条\n- ⏰ **智能调度**:支持自定义发布间隔,避免频繁操作\n- 📊 **发布记录**:自动记录已发布文章,支持断点续传\n\n## 📋 系统要求\n\n- Python 3.7+\n- Chrome 浏览器(用于 Selenium 自动化)\n- 以下 API 密钥:\n - DeepSeek API Key(用于文章生成和内容过滤)\n - 腾讯云混元 API(SecretId 和 SecretKey,用于图片生成)\n- 今日头条账号 Cookie(用于自动登录)\n\n## 🚀 快速开始\n\n### 1. 克隆项目\n\n```bash\ngit clone <repository-url>\ncd <project-name>\n```\n\n### 2. 安装依赖\n\n```bash\npip install -r requirements.txt\n```\n\n### 3. 配置环境变量\n\n创建 `config.py` 文件(可复制 `config.example.py`):\n\n```bash\ncp config.example.py config.py\n```\n\n编辑 `config.py` 或设置环境变量:\n\n```bash\n# Windows (PowerShell)\n$env:DEEPSEEK_API_KEY=\"your_deepseek_api_key\"\n$env:IMAGE_API_SECRET_ID=\"your_tencent_secret_id\"\n$env:IMAGE_API_SECRET_KEY=\"your_tencent_secret_key\"\n\n# Linux/Mac\nexport DEEPSEEK_API_KEY=\"your_deepseek_api_key\"\nexport IMAGE_API_SECRET_ID=\"your_tencent_secret_id\"\nexport IMAGE_API_SECRET_KEY=\"your_tencent_secret_key\"\n```\n\n### 4. 配置 Cookie\n\n1. 登录今日头条创作者平台(https://mp.toutiao.com/)\n2. 使用浏览器开发者工具导出 Cookie(JSON 格式)\n3. 将 Cookie 保存到 `cookies/toutiao.json`\n\nCookie 文件格式示例(参考 `cookies/toutiao.json.example`):\n\n```json\n[\n {\n \"name\": \"sessionid\",\n \"value\": \"your_cookie_value\",\n \"domain\": \".toutiao.com\",\n \"path\": \"/\",\n \"secure\": false,\n \"httpOnly\": false\n }\n]\n```\n\n### 5. 运行程序\n\n#### 模式 1:只爬取和过滤热点\n\n```bash\npython main.py --mode crawl --crawl-limit 100\n```\n\n#### 模式 2:只生成并发布文章(从已有热搜数据)\n\n```bash\npython main.py --mode publish --hot-searches-file filtered_hot_searches.json\n```\n\n#### 模式 3:完整流程(推荐)\n\n```bash\npython main.py --mode full --crawl-limit 100 --publish-delay 900\n```\n\n## 📖 详细使用说明\n\n### 命令行参数\n\n#### 通用参数\n\n- `--mode`: 运行模式\n - `crawl`: 只爬取和过滤热点\n - `publish`: 只生成并发布文章\n - `full`: 完整流程(默认)\n\n#### 爬取参数\n\n- `--crawl-limit`: 爬取热点的最大数量(默认:100)\n- `--hot-searches-file`: 热搜数据 JSON 文件路径(默认:`filtered_hot_searches.json`)\n\n#### 生成和发布参数\n\n- `--generate-limit`: 限制生成的文章数量(默认:不限制)\n- `--generate-delay`: 生成文章时的 API 调用间隔秒数(默认:1.5)\n- `--publish-delay`: 发布文章后的等待间隔秒数(默认:900,即 15 分钟)\n- `--cookies`: Cookie 文件路径(默认:`cookies/toutiao.json`)\n- `--headless`: 使用无头浏览器模式\n- `--article-dir`: 文章保存目录(默认:`generated_articles`)\n\n#### 封面配置参数\n\n- `--cover-mode`: 封面处理方式\n - `none`: 不上传封面\n - `generate`: 自动生成上传(默认)\n- `--cover-style`: 封面风格编号(参考混元文生图 Style 参数)\n- `--cover-resolution`: 封面分辨率,如 `1024:1024`\n- `--cover-negative`: 封面反向提示词\n- `--cover-logo`: 封面是否加水印(1=加,0=不加,默认:0)\n\n### 使用示例\n\n#### 示例 1:完整流程,发布间隔 30 分钟\n\n```bash\npython main.py --mode full --crawl-limit 50 --publish-delay 1800\n```\n\n#### 示例 2:无头模式,不生成封面\n\n```bash\npython main.py --mode publish --headless --cover-mode none\n```\n\n#### 示例 3:自定义封面风格和分辨率\n\n```bash\npython main.py --mode publish --cover-style 201 --cover-resolution 1024:1024\n```\n\n#### 示例 4:限制生成 5 篇文章\n\n```bash\npython main.py --mode publish --generate-limit 5\n```\n\n## 📁 项目结构\n\n```\n.\n├── main.py # 主程序入口\n├── config.py # 配置文件\n├── config.example.py # 配置文件示例\n├── requirements.txt # Python 依赖\n├── README.md # 本文件\n│\n├── ai_analyzer.py # AI 文章生成模块\n├── hot_topic_finder.py # 热点爬取模块\n├── image_generator.py # 图片生成模块\n├── publisher.py # 发布模块\n├── utils.py # 工具函数\n│\n├── cookies/ # Cookie 目录\n│ ├── toutiao.json.example # Cookie 文件示例\n│ └── toutiao.json # 真实 Cookie\n│\n├── generated_articles/ # 生成的文章\n├── generated_images/ # 生成的图片\n└── logs/ # 日志文件\n```\n\n## ⚙️ 配置说明\n\n### API 配置\n\n在 `config.py` 中配置以下内容:\n\n- **DeepSeek API**:用于文章生成和内容过滤\n- **腾讯混元 API**:用于图片生成\n- **文章生成提示词**:可自定义文章生成风格和要求\n- **图片生成提示词**:可自定义图片生成风格\n\n### 发布配置\n\n- **发布间隔**:建议设置为 15-30 分钟,避免被平台判定为异常行为\n- **封面模式**:可选择不生成封面或自动生成封面\n\n## 🔒 安全注意事项\n\n1. **不要提交敏感信息**:\n - `config.py` 包含 API 密钥,已添加到 `.gitignore`\n - `cookies/toutiao.json` 包含登录凭证,已添加到 `.gitignore`\n - 日志文件可能包含敏感信息,已添加到 `.gitignore`\n\n2. **定期更新 Cookie**:\n - Cookie 可能会过期,需要定期更新\n - 如果登录失败,请重新导出 Cookie\n\n3. **API 密钥安全**:\n - 建议使用环境变量而非直接写在配置文件中\n - 不要在公开场合分享 API 密钥\n\n## 🐛 常见问题\n\n### Q1: Cookie 已失效怎么办?\n\nA: 重新登录今日头条创作者平台,使用浏览器开发者工具导出新的 Cookie,替换 `cookies/toutiao.json` 文件。\n\n### Q2: 封面生成失败怎么办?\n\nA: 检查腾讯混元 API 配置是否正确,确保 SecretId 和 SecretKey 有效。系统会自动重试 3 次,如果仍然失败会跳过该文章。\n\n### Q3: 发布失败怎么办?\n\nA: 检查以下几点:\n- Cookie 是否有效\n- 网络连接是否正常\n- 浏览器驱动是否正确安装\n- 查看日志文件了解详细错误信息\n\n### Q4: 如何跳过已发布的文章?\n\nA: 使用 `--mode publish` 模式时,系统会自动跳过 `published_articles.json` 中记录的已发布文章。\n\n### Q5: 如何修改文章生成风格?\n\nA: 编辑 `config.py` 中的 `ARTICLE_GENERATION_PROMPT_TEMPLATE` 变量,修改提示词模板。\n\n## 📝 日志说明\n\n日志文件保存在 `logs/` 目录下,按日期命名(如 `app_20251120.log`)。日志级别可在 `config.py` 中配置:\n\n- `DEBUG`: 详细调试信息\n- `INFO`: 一般信息(默认)\n- `WARNING`: 警告信息\n- `ERROR`: 错误信息\n- `CRITICAL`: 严重错误\n\n## 🤝 贡献指南\n\n欢迎提交 Issue 和 Pull Request!\n\n1. Fork 本仓库\n2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 开启 Pull Request\n\n## 📄 许可证\n\n本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。\n\n## ⚠️ 免责声明\n\n本工具仅供学习和研究使用。使用本工具时,请遵守:\n\n1. 今日头条平台的服务条款\n2. 相关法律法规\n3. AI 生成内容的版权和使用规范\n\n使用者需自行承担使用本工具产生的所有责任和风险。\n\n---\n\n**祝您使用愉快!** 🎉\n\n"}}}} |