我做的所有自动化里,JARVIS 是我给它起的名字。因为它确实像一个人:你不叫它,它不响;你叫它,它就去。

它其实是一个爬虫加一个调度器。爬虫负责"看",调度器负责"记"。两者一起,把我每天要重复做的事情,变成了"跑一遍就完"的事。

它每天做什么

每天早上七点,它开始跑:先抓一遍我关注的几个页面,把新内容拉下来,写进知识库;再检查一遍我的文章列表,看有没有断链或格式错;最后生成一份日报,存在固定目录下面,文件名是日期。

我早上起来,打开知识库,日报已经在那了。像有人替我"值班"过一样。

断点与重试

爬虫最难的不是"抓",是"断"。网络会断,页面会变,接口会限流。我给 JARVIS 定的规矩是:每条请求,最多重试三次,间隔 5 秒;三次都不行,记一条"失败",不报错,不崩,继续下一条。

晚上我翻"失败"列表,哪条总是失败,我就知道哪个页面改版了。爬虫不是万能的,但它必须"不崩"——崩了,它就不是工具,是事故。

自动化不是偷懒

有人问我,做这些不就是为了偷懒吗?我想了很久,答案是:不是。偷懒是"不做",自动化是"做对了,再交给机器做"。

JARVIS 替我做的,是我本来就不该亲自做的事;它没替我做的,是我本来就该亲自做的事。这个边界,是我花了很多次"事故"才明白的。

终端

终端

自动化不是替我活,是让我活得慢一点。