欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼

 更新時(shí)間:2020年07月13日 09:54:39   作者:阿壯Jonsson  
這篇文章主要介紹了用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼,主要分為兩部分,獲取網(wǎng)頁(yè)上數(shù)據(jù)和圖片保存到本地等,感興趣的可以了解一下

實(shí)現(xiàn)思路:分為兩部分,第一部分,獲取網(wǎng)頁(yè)上數(shù)據(jù)并使用xlwt生成excel(當(dāng)然你也可以選擇保存到數(shù)據(jù)庫(kù)),第二部分獲取網(wǎng)頁(yè)數(shù)據(jù)使用IO流將圖片保存到本地

一、爬取所有英雄屬性并生成excel

1.代碼

import json

import requests
import xlwt

# 設(shè)置頭部信息,防止被檢測(cè)出是爬蟲
headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
url = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js"
response = requests.get(url=url, headers=headers).text
loads = json.loads(response)
dic = loads['hero']
# 創(chuàng)建一個(gè)workbook 設(shè)置編碼
workbook = xlwt.Workbook(encoding='utf-8')
# 創(chuàng)建一個(gè)worksheet
worksheet = workbook.add_sheet('LOL')
try:
 for i in range(len(dic)):
  # 設(shè)置單元格寬度大小
  worksheet.col(i).width = 4000
  # 設(shè)置單元格高度大小
  style = xlwt.easyxf('font:height 300')
  worksheet.row(i).set_style(style)
  # 第一行用于寫入表頭
  if i == 0:
   worksheet.write(i, 0, '編號(hào)')
   worksheet.write(i, 1, '名稱')
   worksheet.write(i, 2, '英文名')
   worksheet.write(i, 3, '中文名')
   worksheet.write(i, 4, '角色')
   worksheet.write(i, 5, '物攻')
   worksheet.write(i, 6, '物防')
   worksheet.write(i, 7, '魔攻')
   worksheet.write(i, 8, '魔防')
   continue
  worksheet.write(i, 0, dic[i - 1]['heroId'])
  worksheet.write(i, 1, dic[i - 1]['name'])
  worksheet.write(i, 2, dic[i - 1]['alias'])
  worksheet.write(i, 3, dic[i - 1]['title'])
  roles_ = dic[i - 1]['roles']
  roles = []
  for data in roles_:
   if 'mage' == data:
    roles.append('法師')
   if 'tank' == data:
    roles.append('坦克')
   if 'fighter' == data:
    roles.append('戰(zhàn)士')
   if 'marksman' == data:
    roles.append('ADC')
   if 'assassin' == data:
    roles.append('刺客')
   if 'support' == data:
    roles.append('輔助')
  worksheet.write(i, 4, str(roles))
  worksheet.write(i, 5, dic[i - 1]['attack'])
  worksheet.write(i, 6, dic[i - 1]['defense'])
  worksheet.write(i, 7, dic[i - 1]['magic'])
  worksheet.write(i, 8, dic[i - 1]['difficulty'])
  # 保存
 workbook.save('C:\\Users\\Jonsson\\Desktop\\lol.xls')
except Exception as e:
 print(e)

2.效果

二、爬取所有英雄皮膚并保存到本地

1.代碼

import json
import os

import requests
import xlwt

# 設(shè)置頭部信息,防止被檢測(cè)出是爬蟲
headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
url = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js"
# 請(qǐng)求英雄列表的url地址
response = requests.get(url=url, headers=headers).text
loads = json.loads(response)
dic = loads['hero']
for data in dic:
 id_ = data['heroId']
 skinUrl = 'https://game.gtimg.cn/images/lol/act/img/js/hero/%s.js' % id_
 # 請(qǐng)求每個(gè)英雄皮膚的url地址
 skinResponse = requests.get(url=skinUrl, headers=headers).text
 json_loads = json.loads(skinResponse)
 hero_ = json_loads['hero']
 save_path = './skin/%s-%s-%s' % (hero_["heroId"], hero_['name'], hero_['title'])
 # 文件夾不存在,則創(chuàng)建文件夾
 folder = os.path.exists(save_path)
 if not folder:
  os.makedirs(save_path)
 skins_ = json_loads['skins']
 for data in skins_:
  if data['chromas'] == '0':
   content = requests.get(url=data['mainImg'], headers=headers).content
   try:
    with open('%s/%s.jpg' % (save_path, data['name']), "wb") as f:
     print("正在下載英雄:%s 皮膚名稱:%s ..." % (hero_['name'], data['name']))
     f.write(content)
   except Exception as e:
    print('下載失敗')
    print(e)

2.效果



到此這篇關(guān)于用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼的文章就介紹到這了,更多相關(guān)Python爬取LOL所有英雄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中Matplotlib的點(diǎn)、線形狀、顏色以及繪制散點(diǎn)圖

    Python中Matplotlib的點(diǎn)、線形狀、顏色以及繪制散點(diǎn)圖

    與線型圖類似的是,散點(diǎn)圖也是一個(gè)個(gè)點(diǎn)集構(gòu)成的,下面這篇文章主要給大家介紹了關(guān)于Python中Matplotlib的點(diǎn)、線形狀、顏色以及繪制散點(diǎn)圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作詳解

    Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作詳解

    最近用到了上采樣下采樣操作,pytorch中使用interpolate可以很輕松的完成,下面這篇文章主要給大家介紹了關(guān)于Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Python編寫單元測(cè)試代碼實(shí)例

    Python編寫單元測(cè)試代碼實(shí)例

    這篇文章主要介紹了Python編寫單元測(cè)試代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python進(jìn)程間通信之共享內(nèi)存詳解

    Python進(jìn)程間通信之共享內(nèi)存詳解

    這篇文章主要為大家詳細(xì)介紹了Python進(jìn)程間通信之共享內(nèi)存的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Django模板導(dǎo)入母版繼承和自定義返回Html片段過程解析

    Django模板導(dǎo)入母版繼承和自定義返回Html片段過程解析

    這篇文章主要介紹了Django模板導(dǎo)入母版繼承和自定義返回Html片段過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python3二分查找?guī)旌瘮?shù)bisect(),bisect_left()和bisect_right()的區(qū)別

    Python3二分查找?guī)旌瘮?shù)bisect(),bisect_left()和bisect_right()的區(qū)別

    這篇文章主要介紹了Python3二分查找?guī)旌瘮?shù)bisect(),bisect_left()和bisect_right()的區(qū)別,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Python中拆包的實(shí)現(xiàn)

    Python中拆包的實(shí)現(xiàn)

    拆包是一個(gè)非常實(shí)用且常見的操作,它能夠簡(jiǎn)化代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Python如何將字符串轉(zhuǎn)換為日期

    Python如何將字符串轉(zhuǎn)換為日期

    這篇文章主要介紹了Python如何將字符串轉(zhuǎn)換為日期,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python Pandas庫(kù)基礎(chǔ)分析之時(shí)間序列的處理詳解

    python Pandas庫(kù)基礎(chǔ)分析之時(shí)間序列的處理詳解

    這篇文章主要介紹了python Pandas庫(kù)基礎(chǔ)分析之時(shí)間序列的處理詳解,Pandas作為Python環(huán)境下的數(shù)據(jù)分析庫(kù),更是提供了強(qiáng)大的日期數(shù)據(jù)處理的功能,是處理時(shí)間序列的利器,需要的朋友可以參考下
    2019-07-07
  • Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析

    Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析

    最簡(jiǎn)單的深度網(wǎng)絡(luò)稱為多層感知機(jī),它們由多層神經(jīng)元組成,每一層都與下面一層(從中接收輸入)和上面一層(反過來影響當(dāng)前層的神經(jīng)元)完全相連
    2021-10-10

最新評(píng)論