一、背景与痛点
作为饲料企业,我们需要每天收集肉鸭行情数据并发布到微信公众号。传统做法是:
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
安装扩展
- 打开
edge://extensions/ - 开启开发者模式
- 加载
edge_extension文件夹
使用流程
- 打开微信行情文章页面
- 点击扩展图标
- 点击”截图并发布”
- 等待处理完成
- 登录公众号后台查看草稿
九、效果展示
使用前
手动操作
约15分钟
使用后
一键发布
约30秒
效率提升:30倍 🚀
十、总结
本系统解决了饲料行业行情发布的三大痛点:
- 数据获取:绕过微信防爬机制
- 内容生成:AI自动识别表格数据
- 一键发布:无需手动操作
技术亮点:
- 前后端分离,扩展轻量化
- token安全存储
- 模块化设计,易于维护
技术创造价值,自动化提升效率。
如需交流技术细节,欢迎留言。