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
|
|||
|
|
**维护状态:** 活跃开发中 🚀
|
|||
|
|
|