
本文将详细介绍如何构建一个高效的抖音热门视频采集工作流,通过关键词自动抓取视频数据并保存至飞书多维表格,有效避免重复采集,大幅提升自媒体运营效率。本教程旨在提供一个易于上手的解决方案,无需复杂的设置,免去人工搜索、翻译和复制粘贴的繁琐过程。
声明: 本工作流仅供学习交流,请勿用于非法或违规操作。请仔细阅读并按步骤进行测试。
一、准备工作:飞书多维表格设置
首先,您需要在飞书的多维表格中创建以下字段,用于存储采集到的视频数据:
- ID (文本类型):视频的唯一标识符。
- nickname (文本类型):视频作者的昵称。
- time (文本类型):视频的发布时间。
- desc (文本类型):视频的简介或描述。
- download_addr (文本类型):视频的下载地址。
- music_url (文本类型):视频使用的音频链接。
- share_count (整数类型):视频的分享次数。
- collect_count (整数类型):视频的收藏次数。
- comment_count (整数类型):视频的评论次数。
- digg_count (整数类型):视频的点赞次数。
以下是飞书多维表格字段的参考图:

二、工作流搭建步骤
1. 创建工作流并设置起始节点
在扣子工作空间中创建一个新的工作流。在节点,您需要设置变量参数,其变量名和类型应参照以下图片:

2. 添加视频搜索插件
在节点之后,添加一个名为“视频搜索列表”的插件,并将其重命名为“搜索”。
插件设置:
API Key 申请:https://www.action-ai.cn/3
3. 添加循环插件
在“搜索”插件之后,添加一个插件。在此插件的内,我们将进行后续的数据处理。

输入设置:

输出: 暂留空。
3.1. 循环体内的点赞筛选
在内,添加一个插件,并重命名为“点赞筛选”。

设置:
将的“如果”分支连接到结束点。

3.2. 提取视频ID
在的“否则”分支后,添加一个“文本截取”插件,用于提取视频ID。将其重命名为“视频ID”。

插件设置:

变量值参考下图:

3.3. 查询记录(代码模块)
在“视频ID”文本截取插件之后,添加一个模块,并重命名为“查询”。

模块输入设置:

模块输出设置:

代码设置:

请直接复制以下 Python 代码,并注意排版格式:
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. 查询飞书记录
在“查询”代码模块之后,添加一个飞书多维表格的插件,并重命名为“查询记录”。
插件设置:
飞书多维表格授权: 请点击进入授权流程进行配置。
3.5. 过滤重复记录
在“查询记录”插件后,添加一个插件,用于过滤飞书多维表格中已存在的记录。将其重命名为“选择器-过滤”。
的设置:
将“如果”分支连接到结束点。

3.6. 添加新记录(代码模块)
在“选择器-过滤”的“否则”分支后,添加一个模块,重命名为“添加记录”。

代码模块输入变量设置:

代码模块输入设置:
参数变量对应变量设置: 请确保保持一致。

代码模块输出设置:

代码设置:

请直接复制以下 Python 代码,并注意排版格式:
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. 设置结束节点输出
配置插件的输出参数。

至此,整个工作流的搭建已完成。您可以根据自己的需求进行测试和调整。