# 小红书图文上传 - 图片文件夹

这个文件夹用于存放要上传到小红书的图片文件。

## 🎯 **支持的上传方式**
- **单图上传**：每张图片单独发布一个图文
- **多图上传**：多张图片组合成一个图文（最多9张）

## 📁 文件结构

```
images/
├── README.md          # 说明文件
├── 图片1.jpg          # 图片文件
├── 图片1.txt          # 对应的标题和标签文件（可选）
├── 图片2.png          # 另一张图片
├── 图片2.txt          # 对应的标题和标签文件
└── ...
```

## 🖼️ 支持的图片格式

- **JPG/JPEG** - 推荐格式
- **PNG** - 支持透明背景
- **WEBP** - 现代格式，文件更小

## 📝 标题和标签配置

为每张图片创建同名的 `.txt` 文件来配置标题和标签：

### 文件格式
```
第一行：图文标题
第二行：标签（支持两种格式）
第三行：地点信息（可选，留空则不设置地理位置）
第四行及以后：正文内容（可选，支持多行长文本）
```

### 📋 **标签格式支持**

#### **格式1：逗号分隔**
```
美食,甜品,蛋糕,下午茶,生活
```

#### **格式2：空格分隔（带#号）**
```
#美食 #甜品 #蛋糕 #下午茶 #生活
```

**注意**：系统会自动识别格式并处理，两种格式效果相同。

### 🎯 **智能标签建议选择**

系统支持智能标签建议选择功能：

#### **选择策略**
1. **精确匹配优先**：如果找到与输入标签完全一致的建议，优先选择
2. **包含匹配备选**：如果没有精确匹配，选择包含关键词的相关建议
3. **自动生成新标签**：如果没有任何匹配的建议，系统会自动生成新标签

#### **处理流程**
```
输入标签 → 等待建议加载 → 查找最佳匹配 → 选择建议或生成新标签
```

#### **示例**
- 输入 `#广州旅游` → 找到 `#广州旅游 16.8亿人浏览` → 自动选择
- 输入 `#美食分享` → 找到 `#美食分享日常` → 选择相关建议
- 输入 `#我的原创标签` → 无匹配建议 → 生成新标签

### 示例文件：`美食分享.txt`
```
今日美食推荐 - 超好吃的蛋糕
美食,甜品,蛋糕,下午茶,生活
北京市

今天发现了一家超棒的蛋糕店！🍰

这家店的招牌是巧克力慕斯蛋糕，
口感丰富，甜而不腻，
搭配他们家的手冲咖啡简直完美！

店里的装修也很有格调，
很适合和朋友一起来聊天放松。
下次还想再来尝试其他口味。

推荐给喜欢甜品的朋友们！
你们有什么好吃的蛋糕店推荐吗？
```

### 不设置地理位置的示例：`生活分享.txt`
```
今天的心情特别好
生活,分享,心情

今天阳光明媚，心情特别好！
和朋友一起度过了愉快的一天。
```
**注意**：第三行留空，系统会自动跳过地理位置设置。

## 📸 **多图上传功能**

### 文件命名规则
对于多图上传，使用以下命名规则：
```
旅行1.jpg    # 第1张图
旅行2.jpg    # 第2张图  
旅行3.jpg    # 第3张图
旅行.txt     # 对应的文本文件
```

### 多图示例：`旅行.txt`
```
三亚海边度假之旅
旅行,度假,海边,三亚,美景
三亚市

这次三亚之旅真的太棒了！🏖️

第一天：抵达三亚，入住海景酒店
第二天：天涯海角，椰梦长廊漫步
第三天：亚龙湾海滩，享受阳光沙滩

每一刻都是美好的回忆！
```

### 使用脚本
使用 `upload_images_to_xiaohongshu.py` - **智能适配单图和多图**
```bash
python examples/upload_images_to_xiaohongshu.py
```

### 🤖 **智能适配规则**
脚本会自动识别文件命名规则：

#### **单图模式**
```
美食.jpg     ← 单独发布一个图文
美食.txt     ← 对应的文本文件
```

#### **多图模式**  
```
旅行1.jpg    ┐
旅行2.jpg    ├─ 自动组合成一个图文
旅行3.jpg    ┘
旅行.txt     ← 对应的文本文件
```

#### **混合模式**
```
美食.jpg     ← 单图图文
旅行1.jpg    ┐
旅行2.jpg    ├─ 多图图文
旅行3.jpg    ┘
生活.jpg     ← 单图图文
```
**所有图片会被智能分组并按计划发布**

### 配置说明

#### 📍 地点信息（第三行）
- **格式要求**：城市名（如"北京市"、"上海市"、"广州市"）
- **可选设置**：可以留空或不写
- **自动处理**：如果不设置地点，系统将跳过位置设置

#### 📝 正文内容（第四行及以后）
- **支持长文本**：可以写多行内容，支持换行
- **内容丰富**：可以包含表情符号、问句、描述等
- **自动处理**：如果不写正文，系统将使用标题作为默认内容
- **格式保持**：会保持原有的换行和段落格式
- **标签位置**：标签会自动添加在正文内容的后面，用空格分隔

## 🚀 使用方法

1. **准备图片**：将要上传的图片放入此文件夹
2. **配置信息**：为每张图片创建对应的 `.txt` 文件（可选）
3. **运行脚本**：执行 `python examples/upload_image_to_xiaohongshu.py`

### ⏰ 定时发布说明

- **默认设置**：每天下午4点发布1个图文
- **自动排期**：多个图文会按天数顺序排期
- **发布逻辑**：与视频发布保持一致的定时机制

## 📋 注意事项

- 如果没有 `.txt` 文件，将使用图片文件名作为标题
- 标签可以用逗号或中文逗号分隔
- 建议图片尺寸为正方形或竖屏比例
- 单个图文最多支持9张图片

## 🔧 高级配置

### 单张图片上传
```python
from uploader.xiaohongshu_uploader.main import XiaoHongShuImage

app = XiaoHongShuImage(
    title="图文标题",
    image_paths=["path/to/image.jpg"],
    tags=["标签1", "标签2"],
    publish_date=0,  # 0表示立即发布
    account_file="cookies/xiaohongshu_uploader/account.json",
    location="北京市"  # 地点信息（可选）
)
```

### 多张图片上传
```python
app = XiaoHongShuImage(
    title="多图合集",
    image_paths=[
        "path/to/image1.jpg",
        "path/to/image2.jpg",
        "path/to/image3.jpg"
    ],
    tags=["合集", "分享"],
    publish_date=0,
    account_file="cookies/xiaohongshu_uploader/account.json",
    location="上海市"  # 地点信息（可选）
)
```

### 地点信息配置
- **参数名称**: `location`
- **数据类型**: 字符串或None
- **示例值**: "北京市"、"上海市"、"广州市"、"深圳市"
- **默认值**: None（不设置地点）
- **注意事项**: 地点名称需要是小红书支持的有效地点
