最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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快速獲取壁紙站的評論 (共 條)

分享到微博請遵守國家法律
福泉市| 滨海县| 高雄县| 连南| 化德县| 鸡东县| 华池县| 满城县| 寿阳县| 宜良县| 广元市| 万山特区| 松阳县| 五大连池市| 阳朔县| 庆云县| 呼和浩特市| 齐齐哈尔市| 玛曲县| 广东省| 定远县| 上饶县| 荆门市| 台州市| 泉州市| 怀集县| 桐庐县| 临朐县| 连江县| 德清县| 五大连池市| 麻城市| 靖江市| 石门县| 阳新县| 健康| 金堂县| 城市| 汉沽区| 太康县| 交口县|