給大家科普一下杏運娛樂指尖地(2022已更新(今日/知乎)
爬蟲是一門有趣的技術(shù),它可以讓我們感受到程序的魅力,給我們帶來視覺沖擊感和成就感,可以極大地提高我們對編程的學(xué)習(xí)興趣。
——————————————————————————————————————
愿你我,都能:
遵循君子協(xié)議
合理使用技術(shù)
提高學(xué)習(xí)興趣
今天咱們來玩一把王者榮耀。首先咱們打開王者榮耀官網(wǎng):

進(jìn)去之后可以看到里面有許多英雄高清皮膚壁紙
于是我就想把這些英雄皮膚的壁紙統(tǒng)統(tǒng)給扒拉到本地。首先咱們?nèi)缦抡业剿械挠⑿郏僬业剿麄儗?yīng)的皮膚


找一個我的拿手英雄--達(dá)摩

可以看到達(dá)摩有四個皮膚,我的想法就是把達(dá)摩所有的皮膚都下載到本地。
首先咱們F12找到皮膚所在的位置:

達(dá)摩有四個皮膚,所以這個鏈接的后綴1234分別代表四個不同的皮膚。
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-1.jpghttp://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-2.jpghttp://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-3.jpghttp://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-4.jpg所以咱們就可以得出結(jié)論,同一英雄皮膚位置只有后面的序號不同。如果你輸入5,那就是不存在的,所以它就會報404找不到的錯誤!

接下來咱們再分析一下不同英雄之間是如何區(qū)分的


達(dá)摩和二師兄的地址如下:
https://pvp.qq.com/web201605/herodetail/134.shtmlhttps://pvp.qq.com/web201605/herodetail/511.shtml觀察一下有什么規(guī)律?
除了后面的數(shù)字不同在都是一樣的吧~所以我們猜測一下,英雄之間是不是就是由后面那個數(shù)字控制的?
我們?nèi)缦陆缑娲蜷_F12觀察一下網(wǎng)絡(luò)請求。

我們點擊查看一下這些英雄信息

可以很清晰地看到每個英雄對應(yīng)的編號,名字和皮膚。為了保險起見,咱們可以驗證一下,例如109是妲己,它有7個皮膚。所以它的請求地址應(yīng)該就是
https://pvp.qq.com/web201605/herodetail/109.shtml
怎么樣,沒錯吧!
好了到此為止,我們準(zhǔn)備工作已經(jīng)完成一大半了,接下來就剩下編碼了
代碼實現(xiàn)
按照之前的分析,我們首先要得到各個英雄對應(yīng)的編號,所以首先需要分析herolist.json文件

可以看到已經(jīng)打印出我們所需的英雄信息了,但是我們需要的沒有這么復(fù)雜。英雄壁紙我們需要英雄編號和姓名就夠了。

已經(jīng)成功的提取出我們想要的信息了,接下來我們再看看之前的壁紙鏈接
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-1.jpg替換我們需要修改的參數(shù)即可
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/ + hero_No + / + hero_No + -bigskin-1.jpg剛才咱們已經(jīng)研究過了,皮膚壁紙的不同之處在于最后面的編號,他有多少皮膚編號就到多少。但是最大皮膚不超過10個,至少目前是這樣。所以我們給他設(shè)置一個最大為10的循環(huán)來獲取它的皮膚

好了看看我們下載的圖片是否滿意

好了到此為止代碼已經(jīng)完成。功能雖已實現(xiàn)。但是需要改進(jìn)的地方還有很多,后續(xù)我們繼續(xù)對代碼進(jìn)行完善。

需要學(xué)習(xí)的同學(xué)可以私我哦!
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由財神資訊-領(lǐng)先的體育資訊互動媒體轉(zhuǎn)載發(fā)布,如需刪除請聯(lián)系。