[破事水] 如何下载B站所有的404图片?
众所周知,当我们在B站打开一个并不存在或者已被删除的页面时,会被引向一个错误页面,如图:

其实把404换成400、403、503甚至100都会引向这个页面,不过打开console一看……还是404

我们可以看到这个404页面上放有图片,大概都是有关B站官方形象的漫画,可以更换显示,一共有几十张的样子。首先可以猜测,这些图片的地址是通过请求一个API返回的。翻一下XHR请求,找到请求如下,是没有请求参数的静态API。
观察其响应体,定位到图片地址的所在位置,如图:

设整个响应体为source,获取 加上了`https:`和HTML换行标签的所有图片地址的数组 的代码如下:
source.data.list.map(el => 'https:' + el.data.img + '\<br\/\>')
设上述数组为list,将这个数组转换成长文本(不用换行符分行,前面分好了)的代码如下(Array.reduce()最基础的应用):
list.reduce((a, b) => a + b))
组合以上代码得到这么长一串:
document.write(JSON.parse(document.body.innerText).data.list.map(el => 'https:' + el.data.img + '\<br\/\>').reduce((a, b) => a + b))
直接用浏览器访问这个API,在console中输入上述代码,即在页面中得到所有图片地址的文本,如图:


然后你就可以拿着这个列表用BitComet等工具下载了,下载到的图片如下:

还有一共7张图片藏在这个页面对应的JS即`error.js`里面,地址如下:
//activity.hdslb.com/zzjs/cartoon/errorPage-manga-[1-7].png

图片内容和上面79个重复,不过第一张不知何故尺寸非常大,其他正常。
