本文将详细介绍如何构建一个高效的抖音热门视频采集工作流,通过关键词自动抓取视频数据并保存至飞书多维表格,有效避免重复采集,大幅提升自媒体运营效率。本教程旨在提供一个易于上手的解决方案,无需复杂的设置,免去人工搜索、翻译和复制粘贴的繁琐过程。
声明: 本工作流仅供学习交流,请勿用于非法或违规操作。请仔细阅读并按步骤进行测试。
一、准备工作:飞书多维表格设置
首先,您需要在飞书的多维表格中创建以下字段,用于存储采集到的视频数据:
- 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. 设置结束节点输出
配置插件的输出参数。
至此,整个工作流的搭建已完成。您可以根据自己的需求进行测试和调整。

粤公网安备 44011502001135号