国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

【教程】純原生異步特性,教你用JavaScript快速獲取壁紙站

2021-10-06 13:52 作者:Ar-Sr-Na  | 我要投稿

節(jié)目編號:[08-1202S/08-1203R]

切記請勿用于違法用途,一切后果與作者無關!請尊重原作者著作權,除學習外禁止未經(jīng)同意隨意抓取數(shù)據(jù),禁止應用于商業(yè)化行為!

原理架構分析

眾所周知網(wǎng)頁渲染出來還是html,而html都是由一部分一部分的標簽組成的,對于表格,圖庫這類網(wǎng)站來說,這一部分和一部分是相似的結構,比如<tr><td>,<div class="xxx">,通過class,id,tagName的規(guī)律,不難找到相似元素,本期就以壁紙站為例:

第一步,打開F12,開發(fā)者工具分析結構


這一個個整齊的DIV,就是每一個圖塊對應的結構,他們的query選擇器為'.thumb-container-big'

再把元素展開看看

我們正好只要這兩部分,原圖和標題

接下來展開boxgrid

控制臺里發(fā)現(xiàn)最大的一張

600*375顯然不是我們要的分辨率,進入圖片詳情看看

1920*1080的,他們的URL分別如下:

縮略:533/thumbbig-533007.png

原圖:533/533007.png

多看幾張,縮略圖都是thumbbig-xxx.webp,原圖都是xxx.png

所以我們只需要替換掉thumbbig-為空,.webp為png即可

或者如果我們注意到元素id正好對應圖片的名稱

替換掉thumb_即可,但是我們就無法獲取上級目錄了

如果要獲取,就得用indexOf索引內(nèi)容,太過于復雜,所以還是老老實實根據(jù)Picture里面的source屬性吧


理論存在實踐開始

考慮到一些網(wǎng)站沒有jquery,所以整個過程全部是原生js運行

捕捉父級元素

案例中的元素class為thumb-container-big

所以引入方法

已經(jīng)捕獲到了31個元素,先用第一個元素分析

捕捉子元素

一步一步抓下去

PS:這里用jQuery會更方便些

最后得到代碼:

這時候已經(jīng)獲取到我們的Picture元素了

只需要獲取他的屬性srcset就能獲得縮略圖地址

所以我們用attributes對象獲得屬性:


正是我們想要的鏈接

但是獲取出來的確實一個xml格式的內(nèi)容:

轉化為文本:.textContent

這就是我們第一個元素捕獲的方法,接下來就很簡單了,把它封裝為一個方法,方便調(diào)用:

獲得原圖

根據(jù)上面的分析,我們對鏈接進行字符串替換:

遍歷循環(huán)

由于class的數(shù)量正好是圖片數(shù)量,所以直接根據(jù)class進行遍歷

我們的代碼已經(jīng)很完美,但是我不希望在控制臺里輸出,想要保存到文本文檔怎么辦?直接post到一個支持保存文件的后端即可,在這里不介紹

代碼運行速度非常地快,回車一瞬間就全部跑完了,可見異步執(zhí)行的威力


技術總結

優(yōu)點:迅速,輕量,便捷

缺點:需要手動翻頁,手動運行代碼,半自動化


【教程】純原生異步特性,教你用JavaScript快速獲取壁紙站的評論 (共 條)

分享到微博請遵守國家法律
佳木斯市| 雅安市| 开封县| 富宁县| 综艺| 铜山县| 东阳市| 连州市| 新宁县| 甘洛县| 华宁县| 西畴县| 永清县| 双柏县| 呼玛县| 尉犁县| 新干县| 乾安县| 桂阳县| 科尔| 南开区| 宁蒗| 密云县| 丰原市| 潞西市| 剑阁县| 崇仁县| 垦利县| 舟山市| 乌拉特前旗| 津市市| 湖南省| 长武县| 五华县| 乐清市| 鸡泽县| 威信县| 新泰市| 固阳县| 荣昌县| 林西县|