五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[破事水] 如何下載B站所有的404圖片?

2020-08-12 02:11 作者:進(jìn)棧檢票  | 我要投稿

眾所周知,當(dāng)我們在B站打開一個并不存在或者已被刪除的頁面時,會被引向一個錯誤頁面,如圖:

當(dāng)你興奮的點(diǎn)進(jìn)一個aid/bvid然后發(fā)現(xiàn)是這個樣子……

//www.bilibili.com/404

其實(shí)把404換成400、403、503甚至100都會引向這個頁面,不過打開console一看……還是404

還是404

我們可以看到這個404頁面上放有圖片,大概都是有關(guān)B站官方形象的漫畫,可以更換顯示,一共有幾十張的樣子。首先可以猜測,這些圖片的地址是通過請求一個API返回的。翻一下XHR請求,找到請求如下,是沒有請求參數(shù)的靜態(tài)API。

//www.bilibili.com/activity/web/view/data/31

觀察其響應(yīng)體,定位到圖片地址的所在位置,如圖:

API及其響應(yīng)體

設(shè)整個響應(yīng)體為source,獲取?加上了`https:`和HTML換行標(biāo)簽的所有圖片地址的數(shù)組?的代碼如下:

source.data.list.map(el?=>?'https:'?+?el.data.img?+?'\<br\/\>')

設(shè)上述數(shù)組為list,將這個數(shù)組轉(zhuǎn)換成長文本(不用換行符分行,前面分好了)的代碼如下(Array.reduce()最基礎(chǔ)的應(yīng)用):

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中輸入上述代碼,即在頁面中得到所有圖片地址的文本,如圖:

瀏覽器直接訪問API的樣子
是不是很神奇(doge 其實(shí)很無聊的啦

然后你就可以拿著這個列表用BitComet等工具下載了,下載到的圖片如下:

共79張,有少量重復(fù)(不知何故)

還有一共7張圖片藏在這個頁面對應(yīng)的JS即`error.js`里面,地址如下:

//activity.hdslb.com/zzjs/cartoon/errorPage-manga-[1-7].png

error.js的內(nèi)容,下面還有請求剛才的API的XHR請求源碼

圖片內(nèi)容和上面79個重復(fù),不過第一張不知何故尺寸非常大,其他正常。

error.js中發(fā)現(xiàn)的7張圖片


[破事水] 如何下載B站所有的404圖片?的評論 (共 條)

分享到微博請遵守國家法律
孟津县| 娄底市| 梅河口市| 黄平县| 通榆县| 汶川县| 遂川县| 黄石市| 宜兰市| 香格里拉县| 惠水县| 翼城县| 成武县| 昆明市| 涞源县| 靖宇县| 双峰县| 收藏| 横山县| 博野县| 内黄县| 防城港市| 勐海县| 疏勒县| 福海县| 互助| 山丹县| 西藏| 宣化县| 石台县| 武威市| 特克斯县| 阜康市| 固始县| 广宗县| 塔城市| 宜良县| 赤峰市| 略阳县| 阿坝县| 鹿邑县|