20行代码爬取王者荣耀全英雄皮肤!让你享受白嫖的快乐!

news/2024/11/25 22:37:11/

引言

王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行代码即可完成。

 

准备工作

爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网:

我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片地址:

接着,我们切换一下英雄的皮肤,会发现图片地址没有明显的变化,只是最后的数字序号改变了,我们将两个皮肤图片的地址放在一起比较一下:

我们可以猜测,对于同一个英雄的皮肤图片地址,仅仅是最后的数字序号不同,为了证实我们的猜想,我们可以继续找出一个英雄的全皮肤图片,找一个皮肤多一点的,例如我这里找的是孙尚香,将它的所有皮肤图片地址放在一起比较:

由此我们得出结论,同一个英雄的皮肤图片路径从1开始依次递增,我们再来看看不同英雄之间是如何区分的。会发现,不管皮肤图片如何改变,浏览器上方的地址始终是不变的,所以我们将两个不同英雄的url地址放到一起比较一下:

乍一看,似乎没有什么规律,但我们要从这里发现一点,就是最后的数字其实控制的是哪个英雄,我们暂且认为它是英雄的编号,可不幸的是,英雄编号之间好像没有什么规律,不用着急,我们再到官网上找找线索。

在英雄资料界面,我们打开F12调试台,通过抓取网络请求,我发现了几个文件:

点击网络,然后点击XHR,就可以看到这几个文件,看到文件的名字大家应该就清楚了,这些文件存储的就是英雄列表信息,我们点击查看一下:

没错,这里存储的就是英雄信息,包括英雄的名字,英雄编号等等其它信息,我们可以试试这些信息的准确性,例如小乔的ename,也就是英雄编号为106;

经过尝试后发现确实如此。

到这里,准备工作就完成了,其实进行到这里,整个工程就完成了一半了,接下来就是代码的实现了。

 

代码实现

我们首先就要通过这个地址获取到英雄列表信息的json数据,然后解析json数据,将有用的信息提取出来:

这样我们就获取到了英雄名字和编号;

拿到了英雄编号之后,事情就变得很简单了,只需拼接一下url地址即可;

下面看代码实现:

实现是不是非常地简单,代码注释也已经写得很清楚了,有了这个函数之后,我们只需调用一下,就可以下载图片了。

我们还可以测试一下这个程序,首先要在桌面上创建一个文件夹,名为wzry,因为这里的代码我已经写死了,如果要修改的话大家也可以进行修改,文件夹创建完成后点击运行即可,等待片刻,图片就全部下载完成了。

 

结尾

爬虫是非常有趣的,因为它非常直观,视觉冲击感强,写出来也很有成就感,爬虫虽然强大,但千万不能随意爬取隐私信息。

最后,如果对文中程序有更好的建议,欢迎评论区留言。

不管你是转行也好,初学也罢,进阶也可——【值得点击关注进入】的C/C++编程学习进阶俱乐部

涉及到:C语言、C++、windows编程、网络编程、QT界面开发、Linux编程、游戏编程、黑客等等......

一个活跃、高格调、高层次的程序员编程学习殿堂;编程入门只是顺带,思维的提高才有价值!


http://www.ppmy.cn/news/586702.html

相关文章

爬lol全英雄皮肤

初学爬虫简单的爬取一下lol全英雄皮肤,自己写的,和网上CV的好不一样,觉得文章说得过去的记得留下足迹。 分析页面 1.英雄列表 首先在英雄页面找到hero_list.js;至于为什么是这个文件,看图: 观察该文件响…

简析英雄联盟皮城女警近期改动的影响

大家好,鉴于广大玩家对女警从7.14到7.19的改动有许多争议,博主在此发表下自己的看法。 自古以来,女警都是下路一霸,之所以为一霸,原因有以下几个。其一,手长(这个无可置疑,推塔、线…

活动打卡报名小程序开源版开发

活动打卡报名小程序开源版开发 活动打卡报名小程序开源版的功能可以包括以下几个方面: 活动列表展示:展示所有的活动信息,包括活动名称、时间、地点、报名人数等。活动详情展示:点击活动列表中的某个活动,可以查看该…

Shapley值法介绍及实例计算

Shapley值法介绍及实例计算 为解决多个局中人在合作过程中因利益分配而产生矛盾的问题,属于合作博弈领域。应用 Shapley 值的一大优势是按照成员对联盟的边际贡献率将利益进行分配,即成员 i 所分得的利益等于该成员为他所参与联盟创造的边际利益的平均值。 本文从Shapl…

Docker学习笔记9

容器使用Docker Host做数据存储: 容器来做数据的存储。清除了容器,保存在容器的数据就会丢失,所以容器不适合做数据的持久化。 -v --volume list: Bind Mount a volume 绑定挂载一个卷。 把数据保存到真实机上,就能做到持久化。…

UE5 录制透明png序列帧

以下是在 Unreal Engine 5 中录制透明 PNG 序列帧的详细步骤: 步骤1:创建一个场景 步骤2:打开序列录制器 在 Unreal Engine 5 中,首先需要打开序列录制器。你可以通过点击顶部菜单栏的 窗口 > 开发人员工具 > 序列录制器 …

360新天擎未授权访问数据库名及表名漏洞exp

先用fofa脚本爬取所有碧海威相关资产(fofa脚本下载地址:) python3 fofa-cwillchris.py -k title"360新天擎" 将上面爬取到的文件(一般是final****.txt)移动到脚本目录下,保存为1.txt ./360新天…

享趣闻 | 神秘感十足的5个博物馆,其中一个还是在水上?

大家好,此po是乐于分享的建模助手。 小编发现,在日常的推文里,除了BIM插件相关的推送深受各位喜爱之外,一些建筑行业相关的文章热度也蛮高的。 那本期咱们就来聊聊博物馆。 博物馆是一个能直接感受历史和文明的地方,一…