大家好,我是大明哥,前大厂程序员,目前在探索 AI 中
这是大明哥 100 个 Coze 精品案例的第 004 个案例:一键批量抓取小红书博主所有笔记,写入飞书多维表格 。
做自媒体的小伙伴知道,首先需要做的事情就是找对标账号。历经千辛万苦找到一个对标账号后,怎么把它的所有笔记都抓取下来呢?一个一个地复制?太耗时了。利用 RPA ?你不会写流程图(你别说,这个流程图还挺复杂的)!
所以,需要批量获取小红书博主的笔记数据,进行数据分析和二创,但没有高效的工具?
现在大明哥教你如何一步一步实现一个 Coze 工作流,一键批量抓取小红书博主所有笔记,写入飞书多维表格 。先看执行效果:
整体工作流如下:
搭建好这个工作流后,你只需要输入对标账号的主页链接和对应的 cookie,就可以一键获取它的所有笔记数据!
目前这个工作流已经上传到我的 《100 个Coze精品案例》中来啦!感兴趣的朋友可以看文章末尾联系我一起学习~~
下面就开始动手实现吧!
「实现」
实现这个工作流比较简单,分为以下几个步骤就可以了:
- 获取博主所有笔记
- 获取笔记的详细信息
- 构建飞书多维表格
- 构建笔记数据,插入到飞书多维表格
获取博主所有笔记
- 开始节点
开始节点接收三个输入参数:
xhs\_profile\_url
:博主主页 URLxhs\_cookie
:小红书 cookie。这个进入小红书任一界面都可以获取。浏览器进入小红书主页,按F12
,按照下图来操作获取
feishu\_url
:飞书多维表格的 URL。这里可以不输入,不输入则工作流会自动创建对应的多维表格cursor
:游标。由于获取小红书博主笔记列表不是一次性获取到的,需要多次,这个时候就需要cursor
游标来控制获取流程。
这里就是通过循环的方式获取小红书博主的笔记。由于在循环节点处我们选择的是无限循环(因为不知道该博主有多少条笔记),所以我们需要利用中间变量 cursor
游标来判断是否还需要去获取博主笔记。
获取博主笔记数据后,我们需要设置变量 cursor
是否还继续执行:
这样在循环体内部就可以根据 cursor
来判断博主数据是否已获取完全,如果获取完全就退出循环:
在获取数据后,为了后续更好地处理,我们需要将结果数据进行规整,规整后的数据结构如下:
获取笔记的详细信息
由于是通过循环方式获取的数据,数据结构如下:
所以在获取小红书笔记详情的时候,需要先将数据结构转换成如下这种结构:
其实比较简单,就是一个数据合并的过程。合并数据后,就调用「小红书 - xhs\_note\_detail
」获取笔记详情,当然是批量的方式:
当笔记详情数据获取完毕后,我们就需要量用户数据 + 笔记数据整合在一起,数据格式如下:
构建飞书多维表格
如果我们不输入 feishu\_url
,就自动创建飞书多维表格:
- 构建多维表格字段
我们构建的多维表格结构如下:
async def main(args: Args) -> Output:
fields = [
{"field\_name": "博主昵称", "type": 1},
{"field\_name": "博主主页", "type": 1},
{"field\_name": "粉丝数", "type": 1},
{"field\_name": "笔记标题", "type": 1},
{"field\_name": "发布时间", "type": 1},
{"field\_name": "笔记链接", "type": 1},
{"field\_name": "点赞数", "type": 1},
{"field\_name": "收藏数", "type": 1},
{"field\_name": "评价数", "type": 1},
{"field\_name": "转发数", "type": 1},
{"field\_name": "笔记标签", "type": 1}
]
# 构建输出对象
ret: Output = {
"fields": fields
}
return ret
构建笔记数据,插入到飞书多维表格
- 构建飞书表单数据
利用 Python 代码将前面组装好的数据再一次构建,构建符合飞书多维表格的数据格式:
async def main(args: Args) -> Output:
params = args.params
note\_list = params["note\_list"]
note\_feishu\_list = []
for note in note\_list :
note\_feishu\_list.append({
"fields":{
"博主昵称":note["nick\_name"],
"博主主页":note["user\_link\_url"],
"粉丝数":note["fans"],
"笔记标题":note["note\_display\_title"],
"发布时间":note["note\_create\_time"],
"笔记链接":note["note\_url"],
"点赞数":note["note\_liked\_count"],
"收藏数":note["collected\_count"],
"评价数":note["comment\_count"],
"转发数":note["share\_count"],
"笔记标签":note["note\_tags"],
}
})
# 构建输出对象
ret: Output = {
"note\_feishu\_list": note\_feishu\_list
}
return ret
「
」 「
」
「
」
今天的分享就到这里啦,如果想领取文中完整版的**《流程图、代码、提示词》** ,可以加大明哥微信,邀请进学习空间!!备注【Coze 实战】
大明哥创建了一个 Coze 实战交流群,群里会不定时分享一些 Coze 的相关技巧和实战案例。
但是任何人在群里打任何广告,都会被我 T 掉。
如果你对这个群感兴趣,可以加大明哥微信,邀请你一起探索 Coze 的应用。
若有收获,可以点击下方⬇️关注我,以防迷路