五月天青色头像情侣网名,国产亚洲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圖片?的評論 (共 條)

分享到微博請遵守國家法律
温州市| 长白| 镶黄旗| 永寿县| 蓬溪县| 麻城市| 师宗县| 武川县| 红河县| 吉木乃县| 浦东新区| 安化县| 喀什市| 漠河县| 阿巴嘎旗| 高青县| 东台市| 临邑县| 雷山县| 延边| 苏尼特右旗| 洞口县| 萨嘎县| 肥西县| 五家渠市| 长阳| 抚远县| 高陵县| 华亭县| 图木舒克市| 金川县| 梅州市| 漯河市| 安化县| 珠海市| 奉新县| 军事| 元谋县| 凭祥市| 团风县| 朝阳市|