215 lines
5.0 KiB
Markdown
215 lines
5.0 KiB
Markdown
# 小红书笔记发布工具 - 项目信息
|
||
|
||
## 📦 项目概述
|
||
|
||
这是一个从 `autoUpload` 项目中提取出来的**独立模块**,专门用于小红书笔记的自动发布。
|
||
|
||
### 特点
|
||
|
||
✅ **独立运行** - 可以单独使用,不依赖原项目的其他模块
|
||
✅ **简单易用** - API设计简洁,几行代码即可完成发布
|
||
✅ **文档完善** - 提供中英文文档,多个示例代码
|
||
✅ **功能完整** - 支持图文、视频、定时发布、批量发布等
|
||
|
||
## 📂 文件说明
|
||
|
||
### 核心文件
|
||
|
||
| 文件 | 说明 |
|
||
|------|------|
|
||
| `publisher.py` | 主程序入口,导出核心类 |
|
||
| `requirements.txt` | Python依赖列表 |
|
||
|
||
### 文档文件
|
||
|
||
| 文件 | 说明 | 适合人群 |
|
||
|------|------|----------|
|
||
| `README.md` | 完整英文文档 | 所有用户 |
|
||
| `使用说明.md` | 简化中文说明 | 中文用户 |
|
||
| `QUICKSTART.md` | 5分钟快速指南 | 新手用户 |
|
||
| `PROJECT_INFO.md` | 项目信息(本文件) | 开发者 |
|
||
|
||
### 示例文件
|
||
|
||
| 文件 | 说明 | 运行方式 |
|
||
|------|------|----------|
|
||
| `quick_test.py` | 一键快速测试 | `python quick_test.py` |
|
||
| `example_image.py` | 图文笔记完整示例 | `python example_image.py` |
|
||
| `example_video.py` | 视频笔记完整示例 | `python example_video.py` |
|
||
| `example_batch.py` | 批量发布示例 | `python example_batch.py` |
|
||
|
||
### 其他文件
|
||
|
||
| 文件/目录 | 说明 |
|
||
|----------|------|
|
||
| `cookies/` | Cookie存储目录 |
|
||
| `.gitignore` | Git忽略规则 |
|
||
|
||
## 🔗 依赖关系
|
||
|
||
这个独立模块仍然依赖原项目的以下部分:
|
||
|
||
```
|
||
xiaohongshu_note_publisher/
|
||
├── publisher.py ────────┐
|
||
├──→ ../uploader/xhs_note_uploader/main.py
|
||
├──→ ../utils/base_social_media.py
|
||
├──→ ../utils/human_typing_wrapper.py
|
||
├──→ ../utils/log.py
|
||
└──→ ../conf.py
|
||
```
|
||
|
||
### 需要的原项目文件
|
||
|
||
运行此模块需要原项目中的以下文件:
|
||
|
||
```
|
||
autoUpload/
|
||
├── conf.py # 配置文件
|
||
├── uploader/
|
||
│ └── xhs_note_uploader/
|
||
│ ├── __init__.py
|
||
│ └── main.py # 核心上传逻辑
|
||
└── utils/
|
||
├── base_social_media.py # 基础工具
|
||
├── human_typing_wrapper.py # 人类化输入
|
||
├── log.py # 日志
|
||
└── stealth.min.js # 反检测脚本
|
||
```
|
||
|
||
## 🚀 部署方式
|
||
|
||
### 方式1:作为子目录使用(当前方式)
|
||
|
||
保持在 `autoUpload/xiaohongshu_note_publisher/` 目录下,直接运行。
|
||
|
||
优点:
|
||
- ✅ 无需修改代码
|
||
- ✅ 可以直接使用
|
||
|
||
缺点:
|
||
- ❌ 依赖原项目结构
|
||
|
||
### 方式2:完全独立部署
|
||
|
||
如果要完全独立部署,需要:
|
||
|
||
1. 将以下文件复制到独立目录:
|
||
```
|
||
xiaohongshu_note_publisher/
|
||
├── publisher.py
|
||
├── conf.py (从父目录复制)
|
||
├── uploader/
|
||
│ └── xhs_note_uploader/
|
||
│ └── main.py
|
||
└── utils/
|
||
├── base_social_media.py
|
||
├── human_typing_wrapper.py
|
||
├── log.py
|
||
└── stealth.min.js
|
||
```
|
||
|
||
2. 修改 `publisher.py` 中的导入路径:
|
||
```python
|
||
# 从
|
||
sys.path.insert(0, parent_dir)
|
||
from uploader.xhs_note_uploader.main import ...
|
||
|
||
# 改为
|
||
from uploader.xhs_note_uploader.main import ...
|
||
```
|
||
|
||
## 📊 版本历史
|
||
|
||
### v1.0.0 (2025-11-07)
|
||
|
||
**首次发布**
|
||
|
||
核心功能:
|
||
- ✅ 图文笔记发布(1-9张图片)
|
||
- ✅ 视频笔记发布
|
||
- ✅ 自动Cookie管理
|
||
- ✅ 定时发布
|
||
- ✅ 地理位置标记
|
||
- ✅ 人类化操作
|
||
- ✅ 批量发布
|
||
|
||
文档:
|
||
- ✅ 完整英文README
|
||
- ✅ 简化中文说明
|
||
- ✅ 快速开始指南
|
||
- ✅ 4个示例代码
|
||
|
||
## 🎯 使用场景
|
||
|
||
### 个人使用
|
||
- 📱 个人笔记自动发布
|
||
- 📸 旅行照片批量分享
|
||
- 🎬 Vlog定时发布
|
||
|
||
### 商业使用
|
||
- 🛍️ 电商产品批量上架
|
||
- 📢 营销内容定时发布
|
||
- 🏢 多账号管理
|
||
|
||
### 开发集成
|
||
- 🤖 集成到现有系统
|
||
- 📊 内容管理系统(CMS)
|
||
- 🔄 自动化工作流
|
||
|
||
## 💡 最佳实践
|
||
|
||
### 1. 发布频率控制
|
||
|
||
```python
|
||
# 每篇笔记间隔30-60秒
|
||
await asyncio.sleep(30)
|
||
```
|
||
|
||
### 2. 使用有意义的Cookie文件名
|
||
|
||
```python
|
||
account_file="cookies/美食账号.json"
|
||
account_file="cookies/旅游账号.json"
|
||
```
|
||
|
||
### 3. 批量发布建议使用无头模式
|
||
|
||
```python
|
||
headless=True # 提高效率
|
||
```
|
||
|
||
### 4. 添加错误处理
|
||
|
||
```python
|
||
try:
|
||
await note.main()
|
||
except Exception as e:
|
||
print(f"发布失败: {e}")
|
||
# 记录日志或发送通知
|
||
```
|
||
|
||
## 🔧 技术栈
|
||
|
||
- **Python 3.11+** - 编程语言
|
||
- **Playwright** - 浏览器自动化
|
||
- **Loguru** - 日志记录
|
||
- **Chromium** - 浏览器驱动
|
||
|
||
## 📞 技术支持
|
||
|
||
- 📖 查看文档解决常见问题
|
||
- 💬 提交Issue获取帮助
|
||
- 🤝 欢迎贡献代码和改进建议
|
||
|
||
## 📄 许可证
|
||
|
||
MIT License
|
||
|
||
---
|
||
|
||
**项目创建日期:** 2025-11-07
|
||
**当前版本:** 1.0.0
|
||
**维护状态:** 活跃开发中 🚀
|
||
|