溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

發(fā)布時間:2021-10-11 17:56:17 來源:億速云 閱讀:125 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了如何使用Python爬蟲獲取王者榮耀皮膚高清圖,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

使用Google瀏覽器,Python版本3.6.5,

打開王者榮耀官網(wǎng),按F12打開調(diào)試界面,點擊Network按F5刷新,找到herolist.json。點擊右鍵復(fù)制地址

http://pvp.qq.com/web201605/js/herolist.json

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

然后開始代碼:獲取這個Json文件里的內(nèi)容


import urllib.request

import json

import os

response = urllib.request.urlopen("http://pvp.qq.com/web201605/js/herolist.json")

hero_json = json.loads(response.read())

hero_num = len(hero_json)

print(hero_json)

print("hero_num: ", str(hero_num))

print('------------------------')

運行代碼:

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

獲取一個英雄的英雄名、皮膚名和皮膚數(shù)量

hero_name = hero_json[0]['cname']

skin_names = hero_json[0]['skin_name'].split('|')

skin_num = len(skin_names)

print('hero_name : ', hero_name)

print('skin_name: ', skin_names)

print('skin_num', skin_num)


運行代碼:

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

接下來就是獲取皮膚的高清圖了:

在官網(wǎng)頁面打開王者資料頁面,點擊英雄圖片進入(這里是孫策),繼續(xù)前面的操作,按F12,按F5刷新,找到皮膚圖片,復(fù)制圖片地址http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/510/510-bigskin-1.jpg

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

繼續(xù)代碼:根據(jù)獲取到的網(wǎng)址,在代碼里拼所要獲取圖片的網(wǎng)址(510代表的是json中的ename,1是第幾個皮膚)

for i in range(hero_num):

for cnt in range(len(skin_names)):

        save_file_name = 'F:\heroskin\\' + str(hero_json[i]['ename']) + '-' + hero_json[i]['cname'] + '-' + skin_names[cnt] + '.jpg'

        skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(hero_json[i]['ename']) + '/' + str(hero_json[i]['ename']) + '-bigskin-' + str(cnt+1) + '.jpg'

        if not os.path.exists(save_file_name):

            urllib.request.urlretrieve(skin_url, save_file_name)

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

完整代碼:

import urllib.request

import json

import os

response = urllib.request.urlopen("http://pvp.qq.com/web201605/js/herolist.json")

hero_json = json.loads(response.read())

hero_num = len(hero_json)

print(hero_json)

print("hero_num: ", str(hero_num))

print('------------------------')

hero_name = hero_json[0]['cname']

skin_names = hero_json[0]['skin_name'].split('|')

skin_num = len(skin_names)

print('hero_name : ', hero_name)

print('skin_name: ', skin_names)

print('skin_num', skin_num)

# 文件不存在則創(chuàng)建

save_dir = 'F:\heroskin'

if not os.path.exists(save_dir):

    os.mkdir(save_dir)

for i in range(hero_num):

    # 獲取皮膚名稱列表

    skin_names = hero_json[i]['skin_name'].split('|')

    if hero_json[i]['ename'] == 189:

        json_skin_name = {'skin_name': '阿摩司公爵|萬物有靈'}

        skin_names = json_skin_name['skin_name'].split('|')

        for cnt in range(len(skin_names)):

            save_file_name = 'F:\heroskin\\' + str(hero_json[i]['ename']) + '-' + hero_json[i]['cname'] + '-' + \

                             skin_names[cnt] + '.jpg'

            skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(

                hero_json[i]['ename']) + '/' + str(hero_json[i]['ename']) + '-bigskin-' + str(cnt + 1) + '.jpg'

            if not os.path.exists(save_file_name):

                urllib.request.urlretrieve(skin_url, save_file_name)

        continue

    for cnt in range(len(skin_names)):

        # 保存的圖片名

        save_file_name = 'F:\heroskin\\' + str(hero_json[i]['ename']) + '-' + hero_json[i]['cname'] + '-' + skin_names[cnt] + '.jpg'

        # 拼接的url

        skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(hero_json[i]['ename']) + '/' + str(hero_json[i]['ename']) + '-bigskin-' + str(cnt+1) + '.jpg'

        # 防止代碼出錯,重新運行后避免重復(fù)下載

        if not os.path.exists(save_file_name):

            # 使用request.urlretrieve模塊

            urllib.request.urlretrieve(skin_url, save_file_name)

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

如何使用Python爬蟲獲取王者榮耀皮膚高清圖


問題:

不知道是不是騰訊故意的還是我獲取的方式有問題,獲取的json文件鬼谷子的皮膚名是一段文字,

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

獲取的時候就會出錯,最后使用最笨的辦法解決,重新創(chuàng)建了鬼谷子皮膚名的json文件,

如何使用Python爬蟲獲取王者榮耀皮膚高清圖

這樣就可以完全獲取全部的英雄皮膚圖片。

上述內(nèi)容就是如何使用Python爬蟲獲取王者榮耀皮膚高清圖,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI