你可能也收到过下面这种链接:看上去是个 PDF,自带阅读器,翻页还有复古特效,貌似方便,但唯独没有下载按钮。如果你尝试直接打印网页,结果往往也是一张白纸。以云展(yunzhan)为代表的一批在线 PDF 预览服务都是这德行,苦衷我们都理解,但若遇上几百上千页——下图就是一份逾千页的资料汇编——的文件,终归是苦了读者。
这类在线 PDF 并非“国内大厂”的专利,我前几年订阅过的 OUTDOOR 户外主题杂志,一般也只能在线预览而不能下载(或许和日本严苛的版权法有关)。虽然也有人开发过下载插件,但这类寄生物难免自危,本文动笔时(20240531)找到的几个高分插件就全部失效。我不介意用插件,但同时也希望牢牢掌握兜底方案,权衡投入产出后,我取道低技术,以浏览器元素检查器(Inspector)和 Keyboard Maestro,绕过重重限制直取目标,并且我所用的无非是些厂商看不上的“笨办法”,大概也不会触到谁的奶酪。
- 硬件准备:一台暂时空闲的 Mac 电脑,因为要模拟键鼠,其间无法做别的事;
- 环境准备:一个正常的浏览器;
- 软件准备:一个可以模拟键鼠的软件,推荐更简单明了的 Keyboard Maestro,但系统自带的 Automator 理论上也能用。本文以前者为例。
谋定而后动,低技术视角下——其实是材料视角——的 PDF“下载”,断不追求传统的“一键”(one click),相反,我们层层倒推:
- 如果下载不了 PDF,能不能下载网页上的图片,随后合并成 PDF?——可以,元素检查器中列出了网页里的全部图片。
- 如果能获得这些图片,如何尽可能简化获取方式?——让 Keyboard Maestro 代劳。
- 如果获得的图片是乱码名称,如何在稍后合并制作 PDF 时让它们按页码顺序排列?——转到 Finder,走文件为本位的思路。
完事开头难,若能从浏览器中获得第一张图片,则后续的事情才有指望。网页,本质上是一系列元素的组合,就像日式便当或,并无神秘之处,你可以打开元素检查器(Safari 的快捷键是 ⌘Command-I),随后看到一个状如飞机仪表盘的界面。Don't painc,它们不过是一系列文件,而我们所要的,不过是最常见的图片。其中的图片可以直接拖到本地,也可以(在列表中)右键点击下载。
——但,如今的网页多多少少都有敌对性设计,图片名称可能是随机字符,乍一看,根本不知道谁是谁。此际,我们继续转向文件思维:
- 先点击检查器中的网络(Network)标签页,进入一个形如 Finder 列表视图的界面;
- 在靠近顶部的位置找到过滤按钮(可能因浏览器版本或系统版本而不同),仅显示图片(Image);
- 点一下时间(Timing),按时间排序网页中的图片,可能要来回多点几次才会奏效。
注:如果你的网络非常烂而当前网页又不按套路出牌——例如,不管做什么,都先加载一堆广告——那么,祝你好运。
保留以上过滤和排序设置,随后正常翻页、加载新页面,则每一张新加载的图片都会出现在列表顶部。这不仅方便我们手动下载新图片,也给自动化留出了空间:请观察一下,如今,你是不是在重复点击翻页、选中图片、下载图
