教你用python爬英雄联盟官网:①掌握爬虫技术;②Python数据可视化
大家好,我是明月十四桥!!
擅长领域:python黑科技、大数据后端研发、数据仓库
今日重点:
① 掌握爬虫技术,体会python爬虫流程,可见即可爬;
② 学会使用python数据可视化。
有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!
目录
一、缘起
事情是这样的:
小伙伴:桥哥,桥哥,你知道哪个英雄最难玩吗?
桥哥:陷入沉思.........虽然心中已经有那个人选,像儿童杰、提款鸡 😋 ,可是到底哪个最难呢..... 互联网时代用数据说话,我们去看看官方资料怎么说吧。。。
二、爬虫
第一步:
首先,桥哥来到了英雄联盟官网,虽然早已提不动刀,但看着官网还是不免怀念起大学时代~
经过观察:发现这个 【英雄】、【物品】、【符文】等,都可以爬下来分析一番。。
第二步:
Q:我们的需求是什么?
A:找到官网的资料数据,看看哪几个英雄最难。
首先,来到「官网」>>>『英雄联盟首页』 >>> 『游戏资料』 >>>『英雄』.
我们看到了所有英雄,随便点开一个瞅瞅~
就你了,诡术妖姬!
第三步:
1、打开开发者模式,点击左边的箭头,选择想查看的元素。
2、可以看到的数据:英雄的【物理攻击】【魔法攻击】【防御能力】【上手难度】
诡术妖姬:
物理攻击:☆
魔法攻击:☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆☆ ☆
防御能力:☆ ☆ ☆ ☆
难度系数 :☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆
ok,这就是我想要的。
ps.还可以爬所有的皮肤、英雄背景知识,攻略,技能介绍等等
第四步:循环遍历
英雄列表:https://lol.qq.com/data/info-heros.shtml
三、画图分析
3.1 物理攻击
物理攻击最低的英雄(1级): 正义巨像,诡术妖姬,堕落天使,冰晶凤凰,天启者,远古巫灵,暮光星灵,岩雀, 20000 万花通灵
物理攻击最高的英雄(10级): 无极剑圣,蛮族之王,暗夜猎手,无双剑姬,影流之镰,戏命师,逆羽
3.2 魔法攻击
魔法攻击最低的英雄(1级): 战争女神,暗夜猎手,德玛西亚之力,刀锋之影,放逐之刃,荣耀行刑官,诺克萨斯之手,影流之镰,影流之主,逆羽,残月之肃,血港鬼影,腕豪
魔法攻击最高的英雄(10级): 黑暗之女,诡术妖姬,符文法师,死亡颂唱者,冰晶凤凰,邪恶小法师,远古巫灵,机械先驱,虚空之眼,含羞蓓蕾
3.3 防御能力
防御能力最低的英雄(1级): 暗夜猎手,魔法猫咪,万花通灵
防御能力最高的英雄(10级): 正义巨像,披甲龙龟
3.4 难度系数
难度系数最低的英雄(1级): 暗夜猎手,魔法猫咪,万花通灵
难度系数最高的英雄(10级): 正义巨像,披甲龙龟
3.5 能力矩阵图
ps.以安妮、卡尔玛为例!
四、全部代码
# encoding: utf-8 import requests import json from pyecharts.charts import Pie from pyecharts import options as opts from pyecharts.charts import Radar # 获取官网英雄数据 def request(url): headers = { "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)",} res = requests.get(url, headers=headers) return res def data_analysis(title,data): res = {} for hero in data: if hero['%s'%title] not in res: res[hero['%s'%title]] = hero['name'] else: res[hero['%s'%title]] = res[hero['%s'%title]] + "," + hero['name'] print(res) return res def draw_pie(title, attack): columns,data = [],[] for k, v in attack.items(): columns.append(title + k + '级') data.append(len(v.split(','))) if k in ['1','10']: print(k,v) pie = ( Pie() # 以[(lable,value),(lable,value),(lable,value)......]形式传入数据。 .add(title, list(z for z in zip(columns, data))) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) ) pie.render('%s.html'%title) def draw_Radar(): from pyecharts.charts import Radar radar = Radar() # //由于雷达图传入的数据得为多维数据,所以这里需要做一下处理 radar_data = [[10, 10, 10, 10, 10]] radar_data1 = [[2, 10, 3, 6, 3]] radar_data2 = [[1, 8, 7, 5, 8]] # //设置column的最大值,为了雷达图更为直观,这里的月份最大值设置有所不同 schema = [ ("物理", 100), ("魔法", 10), ("防御", 10),("难度", 10),("喜好", 10) ] # //传入坐标 radar.add_schema(schema) radar.add("满分", radar_data) # //一般默认为同一种颜色,这里为了便于区分,需要设置item的颜色 radar.add("安妮", radar_data1, color="#E37911") radar.add("卡尔玛", radar_data2, color="#1C86EE") radar.render() if __name__ == '__main__': url = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js" res = request(url) hero_message = json.loads(res.text)['hero'] # print(hero_message) # 物理 attack = data_analysis('attack', hero_message) draw_pie('物理', attack) # 防御 defense = data_analysis('defense', hero_message) draw_pie('防御', defense) # 魔法 magic = data_analysis('magic', hero_message) draw_pie('魔法', magic) # 难度 difficulty = data_analysis('difficulty', hero_message) draw_pie('难度', difficulty) draw_Radar()
加入我们 ↓ ↓ ↓
【推荐阅读】
数据仓库专栏:数仓方法论、实战经验、面试真题 >> https://blog.csdn.net/weixin_39032019/category_8871528.html
Python专栏:Python黑科技:爬虫、算法、小工具 >> https://blog.csdn.net/weixin_39032019/category_8974792.html
大数据集锦专栏:面试真题、开发经验、调优策略 >> https://blog.csdn.net/weixin_39032019/category_11048805.html
我是桥哥,专注分享大数据知识体系 & Python黑科技。
求点赞、求评论、求收藏!!
- 如何快速掌握 Python 数据采集与网络爬虫技术
- 视频教程-Python爬虫视频教程:教你爬取QQ音乐数据(实战处理+数据可视化)-Python...
- (转)Python爬虫、数据分析、数据可视化学习书单
- Python爬虫实现数据可视化,为你做一个城市旅游数据分析
- python_scrapy爬虫_jieba分词_数据可视化 阶段总结报告
- 数据可视化 三步走(一):数据采集与存储,利用python爬虫框架scrapy爬取网络数据并存储
- Python爬虫和数据可视化
- [python爬虫]爬取英雄联盟所有英雄数据并下载所有英雄皮肤
- python爬虫+数据可视化项目
- Python + 高德JS——房源可视化(二):爬虫数据导入数据库
- Python实现数据可视化看如何监控你的爬虫状态【推荐】
- 有没有已经工作的Python大神,麻烦给点指导。非常感谢,可以说一些工作中常用的技术框架,比如(web框架Django,Flask,爬虫,数据分析类工作)
- 百度大牛带你学习Python爬取,解析网页、存储数据的三大爬虫技术
- python爬虫webdriver.Chrome 数据可视化简单案例matplotlib
- python爬虫(4)——统计并可视化数据
- 学习Python编程培训 有哪些爬虫技术课程需要掌握
- Python爬虫与数据可视化
- R语言机器学习与大数据可视化暨Python文本挖掘与自然语言处理核心技术研修
- Python爬虫数据并存入MySQL数据库,实现可视化。
- python爬虫+R数据可视化 实例