73 lines
2.2 KiB
Python
73 lines
2.2 KiB
Python
"""Legacy direct-uploader example for Kuaishou.
|
|
|
|
Current mainline usage prefers:
|
|
sau kuaishou login --account creator
|
|
sau kuaishou upload-video ...
|
|
sau kuaishou upload-note ...
|
|
"""
|
|
|
|
import asyncio
|
|
from datetime import datetime
|
|
from pathlib import Path
|
|
|
|
from conf import BASE_DIR
|
|
from uploader.ks_uploader.main import (
|
|
KUAISHOU_PUBLISH_STRATEGY_IMMEDIATE,
|
|
KUAISHOU_PUBLISH_STRATEGY_SCHEDULED,
|
|
KSNote,
|
|
KSVideo,
|
|
)
|
|
|
|
|
|
def upload_video_to_kuaishou():
|
|
account_file = Path(BASE_DIR / "cookies" / "kuaishou_creator.json")
|
|
account_file.parent.mkdir(exist_ok=True)
|
|
|
|
video_file_path = Path(BASE_DIR) / "videos/demo.mp4"
|
|
thumbnail_path = video_file_path.with_suffix(".png")
|
|
video_meta_title = "快手视频上传示例"
|
|
video_meta_hashtags = ["快手", "自动上传", "示例"]
|
|
video_meta_publish_time = datetime.strptime("2026-03-27 12:13", "%Y-%m-%d %H:%M")
|
|
publish_strategy = KUAISHOU_PUBLISH_STRATEGY_SCHEDULED
|
|
|
|
app = KSVideo(
|
|
title=video_meta_title,
|
|
file_path=video_file_path,
|
|
tags=video_meta_hashtags,
|
|
publish_date=video_meta_publish_time,
|
|
account_file=account_file,
|
|
thumbnail_path=thumbnail_path if thumbnail_path.exists() else None,
|
|
publish_strategy=publish_strategy,
|
|
)
|
|
asyncio.run(app.main())
|
|
|
|
|
|
def upload_note_to_kuaishou():
|
|
account_file = Path(BASE_DIR / "cookies" / "kuaishou_creator.json")
|
|
account_file.parent.mkdir(exist_ok=True)
|
|
|
|
image_paths = [
|
|
Path(BASE_DIR) / "videos/demo.png",
|
|
Path(BASE_DIR) / "videos/demo1.png",
|
|
Path(BASE_DIR) / "videos/demo2.png",
|
|
]
|
|
note = "快手图文内容示例"
|
|
tags = ["快手图文", "自动上传", "示例"]
|
|
note_meta_publish_time = datetime.strptime("2026-03-27 12:13", "%Y-%m-%d %H:%M")
|
|
publish_strategy = KUAISHOU_PUBLISH_STRATEGY_SCHEDULED
|
|
|
|
app = KSNote(
|
|
image_paths=image_paths,
|
|
note=note,
|
|
tags=tags,
|
|
publish_date=note_meta_publish_time,
|
|
account_file=account_file,
|
|
publish_strategy=publish_strategy,
|
|
)
|
|
asyncio.run(app.main())
|
|
|
|
|
|
if __name__ == '__main__':
|
|
upload_video_to_kuaishou()
|
|
# upload_note_to_kuaishou()
|