本coze扣子工作流主要功能:只要输入关键词,自动抓取抖音相关的热门视频,并把相关内容数据,写入保存到飞书多维表格里,过滤去重,避免重复采集,不需要人工去搜索,翻译和手动复制粘贴,省时又省力。
易上手版本,极低门槛,免填cookie,方便和提高自媒体运营效率。
申明:本工作流仅用学习交流,请勿用来从事 非法和违规 操作。
需要小伙伴请仔细阅读,并一步步操作测试。
主要逻辑流程图:
一、准备工作
飞书多维表格创建
变量 字段名 类型 id ID 【文本】 nickname 作者 【文本】 time 发布时间 【文本】 desc 说明 【文本】 download_addr 视频URL 【文本】 music_url 音频URL 【文本】 share_count 分享数 【整数】 collect_count 收藏数 【整数】 comment_count 评论数 【整数】 digg_count 点赞数 【整数】
表格字段参考下图
二、工作流搭建
1.打扣子工作空间,创建一个工作流。
在【开始】节点设置变量参数表单变量名和变量类型参考下图
2.在【开始】节点后面,添加一个 视频搜索列表 插件
重命名为:搜索
插件设置
api_key 免费申请:
https://www.action-ai.cn/
3.在 视频搜索 插件 后面,添加一个 【循环】
【循环 】输入设置
【循环 】输出 暂留空
3.1【循环体】内添加一个 【IF选择器】
重命名为:点赞筛选
【IF选择器】设置
把如果 【IF选择器】如果 分支,连接到 【循环体】结束点
3.2【IF选择器】否则分支 后,添加一个 文本截取 插件
用于 提取视频ID
重命名为:视频ID
插件设置
变量值参考下图:
3.3 在文本截取 插件 后面,添加一个 【代码】模块
重命名为:查询
【代码】模块设置
输入设置
输出设置
代码设设置:
!!!可以直接复制下面代码,注意排版格式
(python代码,如果格式乱了,可以让AI帮你排版)
import json from typing import Dict, Any def generate_filter_condition(video_id: str) -> Dict[str, Any]: """生成符合扣子平台格式的飞书多维表筛选条件""" return { "conjunction": "and", "conditions": [ { "field_name": "ID", "operator": "is", "value": [video_id] } ] } async def main(args: Args) -> Output: params = args.params video_id=params['id'] # 生成筛选条件 filter_condition = generate_filter_condition(video_id) # 构建正确的返回结构 return { "records": json.dumps(filter_condition)
3.4在【查询】代码模块 后面,添加一个飞书多维表格【查询记录】插件
重命名 查询记录
【search_record_查询记录】插件设置
飞书多维表格授权点击进入授权
3.5在【search_record_查询记录】插件后面,添加【IF选择器】模块
用来过滤,多维表格已存在的记录。第二次之后的采集,可能之前已采集过的内容。
重命名:选择器-过滤
【选择器】的设置
把 如果 分支连接到【循环体】结束点
3.6 在【选择器-过滤】否则分支 后,添加 代码模块
重命名:添加记录
代码模块 输入 变量设置
代码模块 输入设置
参数变量 对应 【循环】变量 分别设置注意保持一致
代码模块 输出设置
代码设置
!!!可以直接复制下面代码,注意排版格式
(python代码,如果格式乱了,可以让AI帮你排版)
from datetime import datetime async def main(args: Args) -> Output: # 转换为datetime对象 params = args.params fields_data = { "ID": params.get("id", ""), "作者": params.get("nickname", ""), "发布时间": params.get("time", ""), "说明": params.get("desc", ""), "视频URL": params.get("share_url", ""), "分享数": params.get("share_count", ""), "收藏数": params.get("collect_count", ""), "评论数": params.get("comment_count", ""), "点赞数": params.get("digg_count", "") # 定义条件字典 # 构建符合飞书多维表格要求的输出格式 ret: Output={ "records": [ { "fields": fields_data # 直接传递字典对象而非字符串 } ] } return ret
3.7【代码】模块 后面,添加一个飞书多维表格【添加记录】插件
重命名为:添加记录
【添加记录】插件设置
其他留空
把节点输出 连接到 【循环体】结束 结点
4.把【循环】结点 连接到 【结束】 结点
5.【循环】输出设置
6.【结束】 结点 输出设置
到这步,整个项目已毫无保留分享完毕,需要的小伙伴,请自己慢慢测试,如果有不足地方,多多包涵。