教你用python爬英雄联盟官网:①掌握爬虫技术;②Python数据可视化

大家好,我是明月十四桥!!

擅长领域:python黑科技、大数据后端研发、数据仓库

今日重点:

    ①  掌握爬虫技术,体会python爬虫流程,可见即可爬;

    ②  学会使用python数据可视化。

有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!
 

目录

一、缘起

二、爬虫

三、画图分析

3.1 物理攻击

3.2 魔法攻击

3.3 防御能力

3.4 难度系数

3.5 能力矩阵图

四、全部代码


一、缘起

事情是这样的:

 小伙伴:桥哥,桥哥,你知道哪个英雄最难玩吗?

桥哥:陷入沉思.........虽然心中已经有那个人选,像儿童杰、提款鸡 😋 ,可是到底哪个最难呢..... 互联网时代用数据说话,我们去看看官方资料怎么说吧。。。

 

二、爬虫

第一步:

首先,桥哥来到了英雄联盟官网,虽然早已提不动刀,但看着官网还是不免怀念起大学时代~

经过观察:发现这个 【英雄】、【物品】、【符文】等,都可以爬下来分析一番。。

第二步:

Q:我们的需求是什么?

A:找到官网的资料数据,看看哪几个英雄最难。

 

首先,来到「官网」>>>『英雄联盟首页』 >>> 『游戏资料』 >>>『英雄』.

我们看到了所有英雄,随便点开一个瞅瞅~

就你了,诡术妖姬!

第三步:

1、打开开发者模式,点击左边的箭头,选择想查看的元素。

2、可以看到的数据:英雄的【物理攻击】【魔法攻击】【防御能力】【上手难度】

诡术妖姬:

物理攻击:☆ 

魔法攻击:☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆☆ ☆ 

防御能力:☆ ☆ ☆ ☆

难度系数 :☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆

ok,这就是我想要的。

ps.还可以爬所有的皮肤、英雄背景知识,攻略,技能介绍等等

第四步:循环遍历

英雄列表:https://lol.qq.com/data/info-heros.shtml

 

三、画图分析

3.1 物理攻击

物理攻击最低的英雄(1级): 正义巨像,诡术妖姬,堕落天使,冰晶凤凰,天启者,远古巫灵,暮光星灵,岩雀,万花通灵


物理攻击最高的英雄(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 resdef 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 resdef 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 Radarradar = 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()

 

  


加入我们 ↓ ↓ ↓

 

备注:想进的群!   公众号【Data Warehouse】


【推荐阅读】

数据仓库专栏:数仓方法论、实战经验、面试真题 >> 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黑科技。

求点赞、求评论、求收藏!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7套干货,Python常用技术学习知识图谱!!(史上最全,建议收藏)

大家好,我是明月十四桥! 你要偷偷努力,然后惊艳所有人~ 给大家推荐 7 个宝藏级教程,视频课是永久有效的,可以随时学习,有几门课程还有CSDN官方学习答疑群,课程右边扫码入群,讲师在群…

权威发布 |《科学美国人》:2018全球十大新兴技术

来源:世界经济论坛摘要:尽管这些技术仍处于发展早期,但它们吸引了众多研究团队的关注,并且广受投资者青睐。在未来3~5年间,它们可能会对社会与经济产生重要影响。9月19日,《科学美国人》与世界经济论坛&…

23篇大数据系列(一)java基础知识全集(2万字干货,建议收藏)

大数据系列爽文,从技术能力、业务基础、分析思维三大板块来呈现,你将收获: ❖ 提升自信心,自如应对面试,顺利拿到实习岗位或offer; ❖ 掌握大数据的基础知识,与其他同事沟通无障碍; …

Hibernate基础知识

本文主要包括以下内容 对象的状态 一对多的单向关联一对多的双向关联多对多关联 一对一关联 对象状态的变化 对象的状态 临时状态 new 持久化状态 get,save,update脱管状态 clear close evict 一对多单向操作,以班级表与学生表为例 Classes.java package …

从概念到应用,腾讯视角深入“解剖”AI平台和语音技术

来源:AI科技大本营摘要:9 月 15 日,以“破局人工智能:AI平台及智能语音应用解析”为题的沙龙在上海举办,本次活动由 CSDN、腾讯云联合主办。近年来,人工智能技术快速发展,与其他行业的结合也成为…

23篇大数据系列(二)scala基础知识全集(史上最全,建议收藏)

作者简介: 蓝桥签约作者、大数据&Python领域优质创作者。管理多个大数据技术群,帮助大学生就业和初级程序员解决工作难题。 我的使命与愿景:持续稳定输出,赋能中国技术社区蓬勃发展! 大数据系列文章,…

为什么 AI 芯片时代必然到来——从TPU开始的几十倍性能之旅

作者:刘肉酱摩尔定律的终结将使服务于特定领域的架构成为计算的未来。一个开创性的例子就是谷歌在 2015 年推出的张量处理单元(TPU),目前已经在为超过十亿人提供服务。TPU 使深度神经网络(DNN)的计算速度提…

java学习笔记之数组

数组是一种效率最高的存储和随机访问对象引用序列的方式,一旦初始化完成,数组长度将不能变,但可以改变其引用,如: int a[]{1,2}; int b[]{1,2,3,4,5}; ab; 如果输出,将得到: b.length5;a.length5; java数组…

《爬虫写得好,铁窗关到老》教你把握爬虫的法律边界!㊫

作者简介 蓝桥签约作者、大数据&Python领域优质创作者。维护多个大数据技术群,帮助大学生就业和初级程序员解决工作难题。 我的使命与愿景:持续稳定输出,赋能中国技术社区蓬勃发展! 最近的IT公司违法案件越来越多,…

23篇大数据系列(三)sql基础知识(史上最全,建议收藏)

作者简介 蓝桥签约作者、大数据&Python领域优质创作者。维护多个大数据技术群,帮助大学生就业和初级程序员解决工作难题。 我的使命与愿景:持续稳定输出,赋能中国技术社区蓬勃发展! 大数据系列文章,从技术能力、…

脑机交互研究及标准化实践

来源: 人机与认知实验室摘要:本文介绍脑机交互的概念及标准化的必要性,讨论近年来脑机交互的发展状况,重点阐述国内外植入式脑机接口的研究历程,并从脑机交互系统角度提出了脑机交互标准化的思考,同时介绍在…

C#反射的特性

如果您现在对反射还不太了解的话,那么可以先看看这篇博文,来粗略的了解一下反射吧。什么是反射 反射特性(Attribute)  1. C#内置特性介绍  特性是一个对象,它可以加载到程序集及程序集的对象中,这些对象…

拥抱人工智能报告:中国未来就业的挑战与应对

来源: 199IT互联网数据中心近日,中国发展研究基金会联合红杉资本中国基金,对外发布了一份名为《投资人力资本,拥抱人工智能:中国未来就业的挑战与应对》的研究报告。在这篇报告中,研究课题组对比中外、调研…

《Python 快速入门》C站最全Python标准库总结

点赞 ➕ 评论 ➕ 收藏 养成三连好习惯 🍅 联系作者: 不吃西红柿 🍅 作者简介:CSDN 博客专家丨全站 Top 10🏆、HDZ 核心组成员、信息技术智库公号号主 🍅 简历模板、PPT 模板、学习资料、技术互助。关注…

工业4.0进行时:未来协作方式的变革

来源:资本实验室协作是将人类智力发挥至极致的方式,也是推动人类社会进步的重要手段。随着各种新技术的发展与应用,人类之间的协作方式也在随着技术的进步而进步。从面对面交流,到电话与传真、电子邮件与OA系统,再到在…

java之代理设计模式

代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托…

lisp中的*,**,***

在lisp中“*”除了乘法的作用外,还被用来保存REPL(read-eval-print-loop)中的返回值。其中 * -> 保存最后一次返回值。 ** -> *的上一次值。 *** -> **的上一次值。 例子如下: 而且  * (car /) ** …

为了帮粉丝完成毕业设计,我发现了一款私活神器

一、缘起 不日前,有粉丝找到我,让我帮着做个: 教师管理系统 由于种种借口,我当时把问题交给群友去解决了..... 思来想去,越想越内疚,于是就请教了经常做私活的小伙伴。 必须分享给更多的小伙伴~ 二、揭开面…

狗脸识别APP整合

本文主要包括以下内容 android studio中导入so文件 通过URI获得Bitmap android studio中导入so文件 在main文件夹下建立jniLibs目录,并将so文件拷贝进去即可。 注意 声明的native方法与so文件中定义的方法的包名必须相同 通过URI获得Bitmap private Bitmap …

解析丰田对自动驾驶汽车的愿景:打造更加安全的汽车

丰田高管约翰莱昂纳德在丰田研究所的麻省理工学院车库,在他身后是研究所改造的一辆雷克萨斯选自:Bloomberg来源: 网易科技参与:乐邦约翰莱昂纳德(John Leonard)漫步走到麻省理工学院(MIT)校园里一间单调乏味的一层车库&#xff0c…