飞书文档已经成为越来越多个体与组织分享知识、沉淀经验的首选平台,大量用户通过它来收集和整理学习资料、笔记思考,我们也常常在飞书上发现那些让人眼前一亮的干货内容,从行业洞察到实战经验,从方法论到操作指南……
然而,有时候当你想要将它们保存到自己的知识库方便后续重新整合时,却发现原作者设置了禁止复制,
Ctrl+C都按烂了,出来的只是一排排红色提示“由于文档权限设置,如需复制请联系@飞书用户xxx开通可管理权限”,
在网上搜罗一圈,除了淘宝代下载外提到的常规解决方案几乎试了个遍,印象剪藏、 Cubox、Markdown Web Clipper、Force Copy、SuperCopy、油猴脚本-让你的飞书更好用(优化版)……
要么完全失效、要么用两天就凉凉、要么不支持图片/视频、要么每次只能获取一部分内容、要么丢失了链接样式……
没耐心没钱的兄弟直接放弃,有耐心但不多的兄弟,则截图截到手软、打字打到眼花… 这还怎么搞?
如果用RPA,能自动化解决这个问题吗?依托着近1年多对RPA的持续深入学习和3款AI大模型加持,我开始了这次尝试……
在经过多轮指令流程大重构、上千次和AI的对话以及数十个包含不同类型文档的反复运行测试后,这个小玩意的指令数量也从最初的100+条来到了近900条这个量级(目前写过最长的),
不懂代码的我终于还是一手搓出了目前这个相对成熟(能跑通)的应用,可以兼容绝大多数不同元素类型组合的飞书文档。
二、应用/功能介绍
这款解锁飞书文档复制限制的影刀RPA应用,能自动化抓取文本、图片、视频,并写入到Word文档中,且最大限度地还原了原有飞书文档格式。
目前支持的具体功能点:
-
支持普通文本、超链接文本、XML/python代码块文本、标题样式文本、加粗文本、带颜色样式的文本、删除线文本、有序/无序列表等多种类型格式、以及部分嵌套类型内容的抓取;
-
支持https 和 Blob 两种类型图片 自定义规则命名,并下载到和飞书文档标题同名的桌面文件夹中;
-
支持1080P高清视频自定义规则命名,并下载到和飞书文档标题同名的桌面文件夹中;
-
支持按文档图片/视频出现位置 写入占位符,并插入 指定位置 图片;
-
支持 灵活切换鼠标滚动次数,避免数据遗漏或增加不必要的耗时;
三、效果视频演示
下面是应用实际运行演示
上方演示视频中飞书文档案例的最终Word
四、如何获取&使用
1. 使用须知
(1)你的飞书账号至少应拥有对该文档的”基础访问阅读”权限;
(2)该应用基于影刀RPA开发,请确保电脑端已正确下载影刀RPA应用并登录账号
*作者实测使用的是Win 11系统
*影刀RPA官网:https://www./product/
(3)该项目为基于Edge浏览器开发的网页自动化应用,暂不适配其他浏览器。在正式运行应用前,请先确保Edge浏览器按如下图示设置
-
第1步设置地址:edge://settings/downloads#All
-
第2步设置地址:edge://settings/content/automaticDownloads
-
第3步设置浏览器缩放比例为:100%
(4)在写入Word文档时由于要尽可能还原文档格式排版,需要建立与网页结构对应的样式体系(标题/段落/表格等),这里需要对应用实际使用的Word大纲样式快捷键进行确认。该应用当前使用/配置的快捷键如下:
|
样式 |
网页元素类型 |
对应的Word快捷键 |
|
正文 |
text |
Ctrl+Alt+0 |
|
标题1 |
heading1 |
Ctrl+Alt+1 ![]() |
|
标题2 |
heading2 |
Ctrl+Alt+2 |
|
标题3 |
heading3 |
Ctrl+Alt+3 |
|
标题4 |
heading4 |
Ctrl+Alt+4 |
|
标题5 |
heading5 |
Ctrl+Alt+5 |
|
标题6 |
heading6 |
Ctrl+Alt+6 |
(5)复制的内容仅限个人学习研究使用,勿用于非法用途;
2. 开发/获取应用
3. 开始运行
(1)找到刚获取的应用,点击”运行”;
(2)在弹出的对话框中依次输入/选择进行配置;
-
飞书文档链接:输入要下载处理的飞书文档地址
-
本地文档文件夹是否已下载图片_视频:默认为否,应用运行中会自动按文档中图片/视频的出现顺序,自定义命名下载到本地。
*如果选择”是”,请自行选择其他方式提前下载文档中出现的图片或视频,并分别按出现顺序命名,放置到以该文档标题命名的文件夹中
(3)回车或点击”确定” ;
(4)静默等待”抓取写入”完成,中途最好不要干预;
(5)在飞书文档标题同名的桌面文件夹查看所有图片/视频文件及Word文档(暂不支持网页内嵌的PDF、PPT、思维导图、白板等文件类型附件的下载);
五、突破的主要难点
1. 多类型容器嵌套处理
每一个网页元素都有自己的data-block-type属性,属性类型包括:text、image、quote_container、Grid、Bullet、Ordered、Divider、Callout、Todo、View、code、heading1、heading2、heading3、heading4、heading5、heading6等,每一种类型都需有一套独立的处理方式,特别是quote_container、Grid、Bullet这3种类型,存在更复杂的多类型嵌套处理场景;
2. Blob URL资源下载
飞书文档中部分图片地址是以blob:URL存储的,它是浏览器生成的临时 URL,页面关闭、刷新或内存压力都会导致失效;
3. 定位屏幕中心坐标
少数以Blob URL存储的图片尺寸过小,在唤起浏览器下载功能时,必须确保鼠标定位到屏幕中心,才能继续下面的步骤;
4. 自定义切换鼠标滚动次数
由于飞书文档页面是典型的懒加载页面,页面滚动次数会直接影响每次获取的元素,特别是quote_container、Grid、Bullet这3种类型的元素,滚动过快会造成数据丢失,需要根据不同元素类型自定义切换鼠标滚动次数;
5. 图片和视频定位
为尽可能确保Word中的图片和视频按原网页中的位置进行布局,即图片和视频的位置、大小等在Word中应与网页中的位置一致,需要记录其出现的次数、并按出现次数进行文件命名,以便后续占位插入。
……
六、常见问题QA
1. 会被飞书封号吗?
完全不会!不走后台破解,纯模拟人工操作,安全无痕~
2. 文档里所有内容都能下载吗?
-
不是,当前仅支持下载文本、视频、图片类型的内容。
-
暂不支持网页内嵌PDF、whiteboard、PPT、iframe、table、Sheet等文件类型下载。这类不支持的文件类型在文档中会有醒目的提示!
-
暂不支持创建时间在2023年以前的飞书文档(跟现在飞书文档的网页结构不是同一套)。
3. 运行速度怎么样?
以下是我实际测试中部分文档运行的耗时,因测试需要会有大量监控日志指令产生的耗时,你实际获取的应用会去掉这部分指令的耗时,理论上运行更快,具体耗时因文档本身布局复杂程度会有较大差异,供参考。
-
19669个字,9张图,运行时长22分钟
-
4800字,21张图,耗费20分钟
-
71张图,20分钟
-
18000个文字,52张图,半小时
-
……
-END-
-
爱练字的96年ISTJ型互联网人/信息整合怪/工具人/影刀高级认证工程师。
-
专注分享:RPA&AI自动化场景提效方案、效率软件安利、实用技能。”所有的生产要素都可以被构建,只有认知是壁垒”,欢迎关注 @掌心向暖
