把观影数字化和自动化做到极致。 —— 风古一
先奉上部分效果动图,图片比较大,可能需要点加载时间 😀

在解决「电影短评自动化」(请阅读 稍后电影短评 系列三篇)之后,我急需解决自己的另一个自动化需求:一键电影 workflow。一键电影具体指什么?我们先来看看作为一个影迷,你都会遇到哪些痛点。
「复杂」的观影行为
如果把看电影这件事视为一个任务的话,可分为三个阶段:观影前、观影中和观影后。「观影中」是我们无法控制的,你不仅需要肉身出击,还需要定点到场,否则就泡汤,但「观影前」和「观影后」则不一样,它完全在你的掌控之下,但却非常容易失控:
- 很容易就错过一场好电影
- 没有错过好电影,却错过了好场次和好座位
- 票都买好了,却没来得及赶到场
- 电影看完就忘,看完就算,啥都不剩
- 每天刷大量电影资讯,却做不到电影数字化沉淀
「一键电影 workflow」要解决的就是上面这些问题,通过合理的提醒和数据格式化就可以解决大部分痛点,但不可能做到完美,只能做到更好。

「简单」的电影需求
对我来说,我需要「一键」就能自动解决这些痛点的方案,真正友好且强大的电影 workflow 应该满足以下条件:
- 优先解析输入数据和粘贴板,在需要的时候才弹窗提示输入电影名
- 自动解析输入数据或粘贴板里的文本,提取出所有的电影标题进行循环搜索
- 实现 While 循环,在搜索到电影之前动作不会结束
- 自动解析主流电影网站链接(豆瓣电影、时光网、IMDb),统一通过豆瓣 API 获取到对应的电影信息
- 获取到主流电影网站评分(豆瓣电影、IMDb、烂番茄)
- 优先下载高清原版大图,其次才是豆瓣渣图
- 如果是已上映电影,则提示是否添加到 Day One 里生成电影日记
- 如果是未上映电影,则提示是否添加到 Todoist 里设置买票提醒
- 添加到 Day One 和 Todoist 里的电影条目不能重复
- 通过 Wallet 里的电影票信息或取票短信自动生成 Todoist 观影提醒
- 根据电影上映时间和交通时间计算出观影提醒时间
- 以上所有要求,尽量只在一个动作内完成
「一键电影 workflow」做到了,但因为涉及的逻辑比较复杂,本篇不打算深入讲解,只想写成图文并茂的使用说明文。😀
(下图从左到右分别是:观影提醒、Day One 影记、购票提醒)

一键电影 workflow
先确保你 iPhone 上已经装有以下 Apps
一点声明
「一键电影 workflow」版权为 @风古一 所有,是我为自己量身打造的,适合有「观影数字化和自动化」需求的人。如有改造和传播需求,请记得标明出处。
两个入口
「一键电影 workflow」目前为 1.1 版本,由 13 个模块组成,共 2 个入口:
- One Click Movie 是主入口,一键查询电影和添加购票/影记提醒。没有使用场景和输入方式限制,不管是浏览器、RSS客户端、电影客户端还是文本文字,只要能够「分享」,就可以被解析。下图分别是从 Reeder、Safari 和 IMDb 客户端「分享」激活动作。

- Movie to Calendar 是电影票入口,购票后根据票务信息自动计算交通时间并设置观影提醒。限制从 Wallet 电影票或取票短信进入。

三大创新
- 大规模使用模块化构建,实现 While 循环
- 使用变量覆盖的方式更优地解决「选择菜单」问题
- 通过「黑名单」方式保证添加过的电影条目的唯一性
在 Workflow 不支持模块化之前,要实现「一键电影 workflow」,是不敢想象的,光是调试,就足以让人崩溃。

模块下载
- One Click Movie - 主入口
- Movie to Calendar - 电影票入口
- Extract Movie Id
- Extract Movie Name
- Search Douban Movie
- Distribute Movie
- Movie to Todoist
- Other Movie to Todoist
- Movie to DayOne
- Grab Movie Images
- Fetch Douban Movie
- Fetch Mtime Movie
- Fetch IMDb Movie
- 🎨🥚 - 彩蛋(记得运行看看噢,有意外惊喜 😉)
模块下载完后,请认真查看底下的配置说明,不然就算安装好了,动作也不会运行成功。
配置说明
必选列表必须要按自己的情况配置,否则动作不能正常运行;可选列表不影响动作的正常运行。
必选列表
全局配置

请在
iCloud Drive/Workflow 文件夹里创建以下 4 个文件。Mac 上可以直接创建,iOS 上需要通过「发送到 iCloud Drive」的方式创建:
- Movie Calendar List.md 👉 链接
- Movie Diary List.md 👉 链接
- Movie Ticket List.md 👉 链接
- Movie Unavailable List.md 👉 链接
Movie to Calendar 模块

- 非上海地区的需要更改影院名称前的城市名。
- 设置自己的出发地点,默认为当前定位点。
可选列表
Movie to DayOne 模块
- Journal(默认不配置)和 Tags(默认
movie,cinema)
Movie to Todoist 模块
- 买票提醒时间,默认提前 7 天
- Project(默认 Inbox)和 Priority(默认 3)
Other Movie to Todoist 模块
- Project(默认 Inbox)和 Priority(默认 4)
Grab Movie Images 模块
- 如果你不在意运行速度,可以把图片质量从
w1280改为original
补充说明
- 非常感谢 @JailbreakHum 的建议,用 Todoist 替代 2Do 后整个动作变得更加流畅了~
- 「一键电影 workflow」 1.1 版本暂不支持 IMDb 和烂番茄评分是考虑到运行速度,因为会增加额外的请求开销。请期待下一个版本,除了完善评分外,还会在模块组织上有大的优化。😏
- Movie to Calendar 目前只支持淘票票、娱票儿和格瓦拉三大购票平台。
- 整个 workflow 最耗时的是电影海报下载,针对
tmdb.org配置 Surge 代理可能会变快。 - 由于测试样本的有限性,如果有任何问题,请先关注我,再向我提问,谢谢。
