81 lines
2.2 KiB
Python
81 lines
2.2 KiB
Python
|
|
"""
|
|||
|
|
测试网络图片下载功能
|
|||
|
|
"""
|
|||
|
|
import asyncio
|
|||
|
|
import json
|
|||
|
|
from xhs_publish import XHSPublishService
|
|||
|
|
|
|||
|
|
|
|||
|
|
async def test_network_images():
|
|||
|
|
"""测试网络图片功能"""
|
|||
|
|
|
|||
|
|
print("="*50)
|
|||
|
|
print("网络图片下载功能测试")
|
|||
|
|
print("="*50)
|
|||
|
|
print()
|
|||
|
|
|
|||
|
|
# 1. 准备测试 Cookie(从 cookies.json 读取)
|
|||
|
|
try:
|
|||
|
|
with open('cookies.json', 'r', encoding='utf-8') as f:
|
|||
|
|
cookies = json.load(f)
|
|||
|
|
print(f"✅ 成功读取 {len(cookies)} 个 Cookie")
|
|||
|
|
except FileNotFoundError:
|
|||
|
|
print("❌ cookies.json 文件不存在")
|
|||
|
|
print("请先运行登录获取 Cookie:")
|
|||
|
|
print(" python xhs_cli.py login <手机号> <验证码>")
|
|||
|
|
return
|
|||
|
|
|
|||
|
|
# 2. 准备测试数据
|
|||
|
|
title = "【测试】网络图片发布测试"
|
|||
|
|
content = """测试使用网络 URL 图片发布笔记 📸
|
|||
|
|
|
|||
|
|
本次测试使用了:
|
|||
|
|
✅ 网络 URL 图片(picsum.photos)
|
|||
|
|
✅ 自动下载功能
|
|||
|
|
✅ 临时文件管理
|
|||
|
|
|
|||
|
|
如果你看到这条笔记,说明网络图片功能正常!"""
|
|||
|
|
|
|||
|
|
# 3. 使用网络图片 URL
|
|||
|
|
images = [
|
|||
|
|
"https://picsum.photos/800/600?random=test1",
|
|||
|
|
"https://picsum.photos/800/600?random=test2",
|
|||
|
|
"https://picsum.photos/800/600?random=test3"
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
print(f"\n测试图片 URL:")
|
|||
|
|
for i, url in enumerate(images, 1):
|
|||
|
|
print(f" {i}. {url}")
|
|||
|
|
|
|||
|
|
tags = ["测试", "网络图片", "自动发布"]
|
|||
|
|
|
|||
|
|
# 4. 创建发布服务
|
|||
|
|
print("\n开始测试发布...")
|
|||
|
|
publisher = XHSPublishService(cookies)
|
|||
|
|
|
|||
|
|
# 5. 执行发布
|
|||
|
|
result = await publisher.publish(
|
|||
|
|
title=title,
|
|||
|
|
content=content,
|
|||
|
|
images=images,
|
|||
|
|
tags=tags,
|
|||
|
|
cleanup=True # 自动清理临时文件
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
# 6. 显示结果
|
|||
|
|
print("\n" + "="*50)
|
|||
|
|
print("测试结果:")
|
|||
|
|
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|||
|
|
print("="*50)
|
|||
|
|
|
|||
|
|
if result.get('success'):
|
|||
|
|
print("\n✅ 测试成功!网络图片功能正常")
|
|||
|
|
if 'url' in result:
|
|||
|
|
print(f"📎 笔记链接: {result['url']}")
|
|||
|
|
else:
|
|||
|
|
print(f"\n❌ 测试失败: {result.get('error')}")
|
|||
|
|
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
asyncio.run(test_network_images())
|