花了20分钟用AI写了63行代码,批量下载200张照片
今天打开一个在线alltuu 喔图相册,想下载里面所有的原图。
结果发现:每张图都要单独点“下载”按钮。
200+张照片。
点200次鼠标,等200次弹窗,选200次保存位置。
想想就手疼。
打开AI,开始对话
我直接复制了网页的HTML代码扔给AI(DeepSeek),说:
“这是一个图片网站,需要把所有的图片原图下载,分析一下”
AI很快回复:你看,这些是缩略图链接,真正原图藏在“下载”按钮里,而且链接有时效。

行,那就做一个自动点击+下载的脚本。
接下来20分钟,我和AI来回对话大概十几轮:
-
第一版:能获取链接,但下载按钮点不动 -
第二版:能下载了,但每张图都弹窗确认 -
第三版:做成静默下载,不弹窗 -
第四版:发现只抓到63张,实际有200多张——原来是页面懒加载,要滚动才能加载更多 -
第五版:加上自动滚动加载 -
第六版:改成自定义文件名前缀
每一轮,我就做一件事:把问题描述清楚,把错误信息贴给AI。
最终成果

一个Tampermonkey脚本,63行核心代码。
刷新相册页面 → 右下角出现控制面板 → 点击“加载全部图片” → 自动滚动加载200多张 → 点击“开始下载” → 所有原图自动保存到本地,文件名是“前缀_001.jpg”这种格式。
全程不用盯着,干别的去就行。

关于AI辅助写代码的一点感受
先说好的:
-
不挑问题。再蠢的问题它都会认真回答,不会说“你自己搜一下”。 -
调试效率高。报错信息直接贴进去,它能分析是哪里出问题。 -
迭代快。改一个参数、换一种写法,几秒钟就生成新版本。
再说需要注意的:
- 需要自己判断。AI给的方案不一定对,比如最初它用
process.env获取系统用户名,在浏览器环境里直接报错——得告诉它“不行,换一种”。 -
需要自己测试。AI写完不代表能用,要在真实环境跑一遍。 -
需要自己收口。AI会发散,比如加一些你不需要的功能,要主动说“不要这个,只要那个”。
总的来说,AI把“会写代码”这件事的门槛,从“系统学过”降到了“能描述清楚问题”。
我不需要记得querySelector的语法细节,不需要知道GM_download的参数,只要告诉AI“我要做什么”,它给我代码,有问题再告诉它。
反思:是不是需要更重的工具?
过程中我闪过一个念头:要不要搞个Python脚本配合Selenium?或者写个完整的浏览器扩展?甚至——要不要封装成一个Skill?
后来想了想:不用。
理由很简单:这是一次性的需求。
我就下这200多张照片,下完以后,这个脚本大概率再也不会用。为了一次性任务,去搞一个完整工具链,投入产出比不划算。
这就好比:为了搬一次家,去买一辆卡车,而不是叫个货拉拉。
什么时候需要重工具?
-
同样的事情要做10次以上 -
需要给团队其他人用 -
对稳定性、错误处理有较高要求
什么时候轻量方案就够了?
-
一次性的批量任务 -
自己用,跑通就行 -
场景明确,边界清晰
像今天这个下载脚本,63行、改几轮、20分钟搞定。如果用Python从头写,加上处理登录态、异步下载、断点续传……可能得半天到一天。

AI让我更倾向于“刚刚好”的方案——够用就行,不提前优化。
普通人怎么用AI做这种小工具?
如果你也遇到类似的问题(批量下载、批量处理、重复操作),可以试试这个流程:
1. 把问题拆碎
不要一上来就说“帮我写个下载器”。
先问:数据在哪?找找HTML里有没有图片链接。
再问:原图链接怎么拿?找到下载按钮的规律。
一个一个问,AI一步一步答。
2. 学会贴报错
脚本跑不通,把控制台的红色报错完整复制给AI。
报错信息是调试的最佳线索,比任何描述都管用。
3. 先跑通,再优化
第一版能下载1张就算成功。然后再加循环、加延迟、加滚动、加前缀。
别想着一版搞定,分步骤来。
4. 能用脚本,就不折腾工具链
Tampermonkey脚本能解决的,不要上Python+浏览器驱动。
网页能直接看的,不要写爬虫。
AI的价值,不是让你写出完美的工业级代码,而是让你能用最小的成本,解决眼前的具体问题。

最后
这次下载200多张照片,如果手动点,可能要1个小时。
写脚本花了20分钟,看着脚本自己一张一张把照片存下来,那种感觉——比手动点完爽多了。
如果你也有类似“点不动、下不完”的烦恼,可以试试用AI写个脚本。别怕不会写,会“描述问题”就行。
夜雨聆风