行情截图自动发布系统开发手记

一、背景与痛点

作为饲料企业,我们需要每天收集肉鸭行情数据并发布到微信公众号。传统做法是:

1️⃣ 打开微信文章,手动复制价格表格

2️⃣ 整理数据,编写公众号文章

3️⃣ 登录公众号后台,粘贴发布

每天重复,耗时费力。

💡 我们希望实现:一键截图,自动识别,秒级发布。

二、技术选型

挑战

  • 微信公众号文章有防爬机制,无法直接抓取
  • 图片识别需要大模型能力
  • 发布接口需要服务器中转

方案

环节技术选型
截图工具Edge浏览器扩展
图片识别扣子工作流(豆包视觉模型)
公众号发布微信API
服务器Python Flask

三、系统架构

微信文章页面

↓ [用户点击扩展]

Edge浏览器扩展(全页面截图)

↓ [上传图片]

服务器 (Flask API)

↓ [调用工作流]

扣子平台(识别图片 → 生成HTML)

↓ [HTTP回调]

微信API(创建草稿箱文章)

微信公众号后台(待发布)

四、核心功能

4.1 Edge扩展

  • 全页面滚动截图
  • 图片压缩与拼接
  • 一键上传服务器

4.2 服务器接口

接口功能
/upload上传图片,返回访问URL
/execute调用扣子工作流执行
/publish微信公众号发布
/health健康检查

4.3 扣子工作流

  • 接收图片URL
  • 视觉理解识别价格表格
  • 格式化生成HTML文章
  • 调用发布接口

五、安全设计

核心原则:敏感信息不上传到客户端

组件安全措施
Edge扩展不包含任何token
服务器token存储在config.json
API接口仅暴露必要的接口

// 扩展代码(无敏感信息)

const SERVER_URL = ‘http://服务器:5010’;

// 调用上传、执行业务逻辑

// 服务器(读取config.json获取token)

六、开发过程

第一阶段:基础功能

实现了Flask服务器和微信发布模块
解决了access_token自动刷新问题
完成了扣子工作流集成

第二阶段:传输优化

❌ 问题:Base64图片太大,token超限

✅ 解决:改用服务器上传图片,返回URL

第三阶段:安全加固

❌ 问题:token可能泄露

✅ 解决:扩展不包含token,服务器端调用扣子API

七、关键代码

服务器端(app.py核心逻辑)

@app.route('/execute', methods=['POST'])
def execute_workflow():
    """执行工作流接口"""
    image_url = request.json.get('image_url')
    result = run_workflow(image_url)
    return jsonify({"success": True, "result": result})

def run_workflow(image_url):
    """调用扣子工作流"""
    coze = Coze(auth=TokenAuth(token=config["coze_api_token"]))
    stream = coze.workflows.runs.stream(
        workflow_id=config["workflow_id"],
        parameters={"image_url": image_url}
    )
    # 处理返回结果...

微信发布(publisher.py)

def publish(self, title, html_content, digest=None):
    """发布到微信草稿箱"""
    article = {
        "title": title,
        "content": html_content,
        "digest": digest,
        "thumb_media_id": self.config['cover_media_id']
    }
    url = f"https://api.weixin.qq.com/cgi-bin/draft/add"
    resp = requests.post(url, json={"articles": [article]})
    return resp.json()

八、使用方法

部署服务器

cd server
pip install -r requirements.txt
# 编辑config.json填入配置
python app.py

安装扩展

  1. 打开 edge://extensions/
  2. 开启开发者模式
  3. 加载 edge_extension 文件夹

使用流程

  1. 打开微信行情文章页面
  2. 点击扩展图标
  3. 点击”截图并发布”
  4. 等待处理完成
  5. 登录公众号后台查看草稿

九、效果展示

使用前

手动操作

约15分钟

使用后

一键发布

约30秒

效率提升:30倍 🚀

十、总结

本系统解决了饲料行业行情发布的三大痛点:

  1. 数据获取:绕过微信防爬机制
  2. 内容生成:AI自动识别表格数据
  3. 一键发布:无需手动操作

技术亮点:

  • 前后端分离,扩展轻量化
  • token安全存储
  • 模块化设计,易于维护

技术创造价值,自动化提升效率。

如需交流技术细节,欢迎留言。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注