使用油猴脚本批量下载canvas图片

女友最近在网上下载一些北大网盘的pdf文档,结果发现没有下载接口,另存为也只能存储单张图片。找我帮忙,这时候发现程序员男票的好处了哈。

分析页面

一开始想着使用Chrome调试工具看下pdf链接,发现这个网盘居然不是直接获取的pdf文件,而是使用js脚本动态渲染生成的,涨知识了。

pdf-combine js

那看看是否可以以图片形式批量下载呢,结果查看pdf单页的html结构发现,这居然是个canvas!!!还不是普通图片,而是画布。

cancvs

下载插件

没关系,canvas什么的也不是难事,万能的油猴插件总会有解决方案的,果不其然让我找到个专门用于下载svg, canvas的油猴插件↓

下载图片

这正是我想要的,安装好后,使用起来非常简单,刷新要下载canvas图片的页面,在右下角有一个按钮自动获取图片

js extension

点击之后开始扫描,注意下图中的数字并不代表实际的图片数量,不用理会。

scanning

扫描完成后,可以限定图片大小,以滤除不符合要求的小图片,然后通过批量下载完成下载,对于数量较多的页面可能需要稍微等一小会,绝大部分情况是很快的。

download

这样就下载完成啦。

downloaded

至于如何将批量转换为pdf,那方法就多啦,福昕pdf编辑器、ABBYY等等,这个留待下回再讲,哈哈。

后记

经评论区大佬@Axun提醒,本文所爬网站的PDF文件是可以直接提取的,刷新页面过滤Access即可得到下面的链接,右键在新页面打开即可保存,然后添加扩展名即可。

PDF source file

当然啦,本文提及的canvas图片下载方法也适用于其它网站,欢迎食用。