python 爬取英雄聯(lián)盟皮膚并下載的示例
爬取結(jié)果:
爬取代碼
import os import json import requests from tqdm import tqdm def lol_spider(): # 存放英雄信息 heros = [] # 存放英雄皮膚 hero_skins = [] # 獲取所有英雄信息 url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js' hero_text = requests.get(url).text # 轉(zhuǎn)為 json 格式 hero_json = json.loads(hero_text)['hero'] path = os.getcwd() # 獲取當(dāng)前文件夾路徑 workspace = os.getcwd() # 皮膚路徑 skin_path = "{}\\{}".format(workspace, 'skins') # 遍歷列表 for hero in hero_json: # 將每一個(gè)英雄的 id、name 放入一個(gè)字典中 hero_dict = {'id': hero['heroId'], 'name': hero['name']} # 放入列表 heros.append(hero_dict) # 遍歷列表 for hero in heros: hero_id = hero['id'] hero_name = hero['name'] # 為每一個(gè)英雄創(chuàng)建一個(gè)以自己名字命名的文件夾,用來(lái)存放皮膚圖片 dir_name = skin_path + '\\{}'.format(hero_name) if not os.path.exists(dir_name): os.mkdir(dir_name) # 進(jìn)入文件夾 os.chdir(dir_name) # 根據(jù)每一個(gè)英雄的 id 生成皮膚信息的 url hero_skin_url = 'https://game.gtimg.cn/images/lol/act/img/js/hero/' + hero_id + '.js' # 通過(guò) url 獲取英雄的皮膚數(shù)量 skin_text = requests.get(hero_skin_url).text skin_json = json.loads(skin_text) skin_list = skin_json['skins'] # 獲取皮膚名 hero_skins.clear() for skin in skin_list: hero_skins.append(skin['name'].replace('/', '').replace('\\', '').replace(' ', '')) # 皮膚數(shù)量 skins_num = len(hero_skins) s = '' for i in tqdm(range(skins_num), desc='【' + hero_name + '】皮膚下載'): if len(str(i)) == 1: s = '00' + str(i) elif len(str(i)) == 2: s = '0' + str(i) elif len(str(i)) == 3: pass try: # 拼接指定皮膚的 url skin_url = 'https://game.gtimg.cn/images/lol/act/img/skin/big' + hero_id + '' + s + '.jpg' img = requests.get(skin_url) except: # 沒(méi)有炫彩皮膚 url 則跳過(guò) continue # 保存皮膚圖片 if img.status_code == 200: with open(hero_skins[i] + '.jpg', 'wb') as f: f.write(img.content) if __name__ == '__main__': lol_spider()
以上就是python 爬取英雄聯(lián)盟皮膚并下載的示例的詳細(xì)內(nèi)容,更多關(guān)于python 爬取英雄聯(lián)盟皮膚的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
通過(guò)Python pyecharts輸出保存圖片代碼實(shí)例
這篇文章主要介紹了通過(guò)Python pyecharts輸出保存圖片代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python基礎(chǔ)教程之while循環(huán)用法講解
Python中除了for循環(huán)之外還有一個(gè)while循環(huán),下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之while循環(huán)用法講解的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12Python3列表List入門(mén)知識(shí)附實(shí)例
序列是Python中最基本的數(shù)據(jù)結(jié)構(gòu)。序列中的每個(gè)元素都分配一個(gè)數(shù)字 - 它的位置,或索引,第一個(gè)索引是0,第二個(gè)索引是1,依此類(lèi)推2020-02-02for循環(huán)在Python中的工作原理詳細(xì)
for...in 是Python程序員使用最多的語(yǔ)句,for 循環(huán)用于迭代容器對(duì)象中的元素,這些對(duì)象可以是列表、元組、字典、集合、文件,甚至可以是自定義類(lèi)或者函數(shù),下面小編將舉例說(shuō)明,需要的朋友可以參考下2021-10-10python簡(jiǎn)單實(shí)例訓(xùn)練(21~30)
上篇文章給大家介紹了python簡(jiǎn)單實(shí)例訓(xùn)練的1-10,這里繼續(xù)為大家介紹python的一些用法,希望大家每個(gè)例子都打出來(lái)測(cè)試一下2017-11-11python爬取晉江文學(xué)城小說(shuō)評(píng)論(情緒分析)
這篇文章主要介紹了使用python爬取晉江文學(xué)城小說(shuō)評(píng)論(情緒分析),全文代碼詳細(xì),邏輯清晰,很適合學(xué)習(xí)爬蟲(chóng)爬取的朋友,需要的朋友可以參考下2021-04-04TensorFlow keras卷積神經(jīng)網(wǎng)絡(luò) 添加L2正則化方式
這篇文章主要介紹了TensorFlow keras卷積神經(jīng)網(wǎng)絡(luò) 添加L2正則化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05python爬蟲(chóng)實(shí)現(xiàn)最新12306搶票
這篇文章主要介紹了python爬蟲(chóng)實(shí)現(xiàn)最新12306搶票,每到放假過(guò)節(jié)的時(shí)候,很多人總是對(duì)于搶不到車(chē)票而煩惱,那么經(jīng)過(guò)我?guī)讉€(gè)小時(shí)的不懈努力,完成了基于python?的12306搶票爬蟲(chóng),現(xiàn)在分享給大家。希望對(duì)大家有所幫助2022-01-01