python 爬取英雄聯(lián)盟皮膚并下載的示例
爬取結(jié)果:
爬取代碼
import osimport jsonimport requestsfrom tqdm import tqdmdef 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è)以自己名字命名的文件夾,用來存放皮膚圖片 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’ # 通過 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:# 拼接指定皮膚的 urlskin_url = ’https://game.gtimg.cn/images/lol/act/img/skin/big’ + hero_id + ’’ + s + ’.jpg’img = requests.get(skin_url) except:# 沒有炫彩皮膚 url 則跳過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)盟皮膚的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. XML入門的常見問題(四)2. 使用css實(shí)現(xiàn)全兼容tooltip提示框3. 詳解CSS偽元素的妙用單標(biāo)簽之美4. 詳解PHP實(shí)現(xiàn)HTTP服務(wù)器過程5. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案6. html小技巧之td,div標(biāo)簽里內(nèi)容不換行7. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)8. XML入門的常見問題(一)9. HTML DOM setInterval和clearInterval方法案例詳解10. ASP中格式化時(shí)間短日期補(bǔ)0變兩位長日期的方法
