autoUpload/examples/upload_video_to_wechat.py

69 lines
2.1 KiB
Python
Raw Normal View History

2025-09-08 09:32:45 +08:00
# -*- coding: utf-8 -*-
"""
微信公众号图文上传示例
使用前请确保
1. 已安装所需依赖包
2. 已获取微信公众号 cookies
3. 准备好要上传的图片或视频文件
"""
import asyncio
from pathlib import Path
from datetime import datetime, timedelta
import sys
import os
# 添加项目根目录到 Python 路径
current_dir = Path(__file__).parent.resolve()
project_root = current_dir.parent
sys.path.append(str(project_root))
from uploader.wechat_public_uploader.main import wechat_setup, WechatVideo
async def main():
# 配置文件路径
account_file = Path(project_root / "cookies" / "wechat_uploader" / "account.json")
account_file.parent.mkdir(exist_ok=True, parents=True)
# 首先确保cookie有效如果无效会自动打开浏览器登录
cookie_setup = await wechat_setup(str(account_file), handle=True)
if not cookie_setup:
print("Cookie 设置失败,请检查网络连接或重新登录")
return
# 准备上传的文件(支持图片和视频)
file_path = Path(project_root / "videos" / "demo.png") # 修改为你的文件路径
if not file_path.exists():
print(f"文件不存在: {file_path}")
print("请将要上传的文件放置在 videos/ 目录下,或修改 file_path 路径")
return
# 创建微信公众号图文对象
wechat_video = WechatVideo(
title="我的第一篇微信公众号图文", # 文章标题
file_path=str(file_path), # 图片/视频文件路径
tags=["科技", "AI", "自动化"], # 标签列表
publish_date=datetime.now(), # 发布时间
account_file=str(account_file) # cookie文件路径
)
# 开始上传
print(f"开始上传到微信公众号: {wechat_video.title}")
print(f"文件路径: {file_path}")
print(f"标签: {wechat_video.tags}")
# 执行上传
async with playwright() as p:
await wechat_video.upload(p)
print("上传完成!")
if __name__ == '__main__':
from playwright.async_api import async_playwright as playwright
asyncio.run(main())