用Ai开发微信小程序,没想到那么简单(三)视频提取
本篇讲一下小程序中如何做抖音视频提取功能。主要涉及到的工具有如下
trae:AI开发工具;
主要提取服务:douyin-mcp-server(开源地址:https://github.com/yzfly/douyin-mcp-server)
服务器:我用的阿里云的宝塔服务器(新用户可以去抢38一年的,超划算)
第一步:在宝塔中 通过git下载源代码到一个目录
1:是mcp的服务,我设置了开机自启,保证每次都能打开这个服务,关于该服务可以在它的github上找到对应配置,已经非常详细
2:由于微信的限制,这个服务器不能直接在小程序调用,这个是我在后面trae中报错后发现的,需要在本服务器中转成可供小程序调用的API接口
附上py关键代码:
@app.post("/api/video/download") async def download_video(request: DownloadRequest): """ 获取视频无水印下载链接 对应 MCP 工具: get_douyin_download_link 参数: share_link (string) - 抖音分享链接 特点: 无需 API 密钥即可使用 """ global mcp_client if mcp_client is None: raise HTTPException(status_code=503, detail="MCP 服务未就绪") try: result_content = await mcp_client.call_tool( "get_douyin_download_link", {"share_link": request.url} ) if result_content and len(result_content) > 0: item = result_content[0] if hasattr(item, 'text'): data = json.loads(item.text) else: data = {"raw": str(item)} else: data = {"error": "返回结果为空"} return {"code": 0, "data": data} except Exception as e: print(f"❌ 处理失败: {e}") traceback.print_exc() raise HTTPException(status_code=500, detail=str(e))第二步:小程序代码修改(涉及云函数)
首先还是和trae对话,UI上在原来的基础上加一个抖音的item可供点击,还有二级界面的制作需要1文本粘贴区(方便用户复制分享链接)2解析按钮,3视频播放区,4下载本地按钮或者复制链接按钮,基本界面如下
接下来就是在小程序中直接调用之前服务器的API接口,这个地方涉及一个小程序的限制,就是接口必须是https,有两个选择可以解决,1把自己的服务器对外调用做成https的,不过要备案还有一些其他认证比较麻烦,我选择后者。2通过小程序的云代码作为中转来规避这个问题,直接把访问限制问题抛给trae,就会给你一份云端服务的代码和对应小程序调用的方法很方便。记得下载本地的链接也要用云代码来处理。
总结
整体代码都由trae解决,自己主要涉及服务器的部署和一些lib的安装,还有云代码管理,阿里云服务器花了38,腾讯云免费用1年,整体成本不算高,个人学习这条路下来挺不错,可以搜索我的小程序一起学习一下
我的小程序:蚕宝宝的小工具