python王者荣耀脚本,python输出王者荣耀的游戏角色

介绍

每个人都玩过《王者荣耀》,即使您没有,您也可能听说过它是当今最受欢迎的MOBA 手机游戏。我们今天的重点是爬取《王者荣耀》中所有英雄的所有皮肤,只需要20行Python代码就可以完成。

准备

爬行皮肤本身并不困难。困难的部分是首先获取皮肤图像的URL 地址。立即访问王者荣耀官方网站。

点击英雄信息,随机选择一个英雄,F12打开调试控制台,找到该英雄原皮肤的图片地址。

然后,当你切换英雄的皮肤时,你会注意到虽然图像地址没有明显的变化,但最后的数字序列号发生了变化。我们把两张皮肤图片的地址放在一起对比一下。

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/523/523-bigskin-1.jpg

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/523/523-bigskin-2.jpg

对于同一个英雄的皮肤图片地址,你可以猜测只有最后一个数字不同。为了证实你的猜测,你可以继续搜索英雄的完整皮肤图片,找到更多皮肤的英雄。这就是您要找的东西。其中之一就是孙尚香。我整理了他所有皮肤图片的地址进行对比:http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/111/111-bigskin-1.jpghttp://game.gtimg。 cn/images /yxzj/img202306/skin/hero-info/111/111-bigskin-2.jpg

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/111/111-bigskin-3.jpg

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/111/111-bigskin-4.jpg

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/111/111-bigskin-5.jpg

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/111/111-bigskin-6.jpg

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/111/111-bigskin-7.jpg

由此我们可以得出结论,同一个英雄的皮肤图像从1开始依次递增。让我们看看不同的英雄是如何区分的。可以看到,无论皮肤图片如何变化,浏览器顶部显示的地址始终保持不变。那么我们来比较一下两个不同英雄的URL地址。

https://pvp.qq.com/web202305/herodetail/523.shtmlhttps://pvp.qq.com/web202305/herodetail/111.shtml

乍一看,似乎没有任何规律,但这里我们需要发现的是最后一个数字实际上控制的是哪个英雄。在某一时刻,我们认为这是英雄的号码,但不幸的是,两者之间似乎没有任何模式。英雄号,别着急,去官网寻找线索吧。

在英雄信息界面,我打开F12调试控制台并收到网络请求,并找到了几个文件。

如果您单击“网络”,然后单击“XHR”,您将看到这些文件存储英雄列表信息。

是的,英雄信息包括英雄姓名、英雄编号等信息都会存储在这里。比如小乔的名字是英雄号106,那么按照之前的想法,会保存详细的信息。英雄小乔的地址是:https://pvp.qq.com/web202305/herodetail/106.shtml

当我尝试之后,我发现确实如此。

至此,准备工作就完成了。事实上,此时整个项目已经完成了一半。下一步是实现代码。

代码

首先,创建一个Python文件,然后导入os模块和request模块。

您必须先按照前面的步骤获取英雄列表信息。这是herolist.json 文件。文件地址为https://pvp.qq.com/web202305/js/herolist.json,可以在debug中找到。车站。

接下来需要先通过这个地址获取英雄列表信息json数据,然后解析该json数据,提取有用信息:url=\’https://pvp.qq.com/web202305/js/herolist.json\’

Herolist=request.get(url) # 获取英雄列表json文件

Heroist_json=Heroist.json() # 转换为json格式

Hero_name=list(map(lambda x: x[\’cname\’], Herolist.json())) # 提取英雄名字

Hero_number=list(map(lambda x: x[\’ename\’], Herolist.json())) # 提取英雄编号。这样你就可以得到英雄的名字和号码并打印出来进行测试。一旦你有了你的英雄号码,你的工作就会非常简单,只需结合你的URL 地址即可。

http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/\’ + Hero_number + \’/\’ + Hero_number + \’-bigskin-1.jpg,可以获取所有英雄皮肤照片,但是这里有一个问题。有些英雄只有2 个皮肤,有些只有6 或7 个皮肤,所以我在这里采用了一个相对愚蠢的方法。即,通过将变量从1 连续增加到10 来连接图像地址。如果发现不可用的图像,则不会对其进行处理。这是因为没有英雄拥有超过10个皮肤,所以你可以获得所有图像。我们看一下代码实现: # 下载图片

def downloadPic():

我=0

对于Hero_number: 的j

#创建文件夹

os.mkdir(\’C:\\\\Users\\\\Administrator\\\\Desktop\\\\wzry\\\\\’ + Hero_name[i])

# 进入创建的文件夹

os.chdir(\’C:\\\\Users\\\\Administrator\\\\Desktop\\\\wzry\\\\\’ + Hero_name[i])

我+=1

对于k 在(10): 范围内

# 拼接网址

onehero_link=\’http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/\’ + str(j) + \’/\’ + str(

j) + \’-bigskin-\’ + str(k) + \’.jpg\’

im=requests.get(onehero_link) #请求网址

如果im.status_code==200:

open(str(k) + \’.jpg\’, \’wb\’).write(im.content) #写入文件

实现起来非常简单,代码注释也非常清楚,所以这里是整个程序的完整代码:

导入操作系统

导入请求

URL=\’https://pvp.qq.com/web202305/js/herolist.json\’

Herolist=request.get(url) # 获取英雄列表json文件

Heroist_json=Heroist.json() # 转换为json格式

Hero_name=list(map(lambda x: x[\’cname\’], Herolist.json())) # 提取英雄名字

Hero_number=list(map(lambda x: x[\’ename\’], Herolist.json())) # 提取英雄编号

# 下载图片

def downloadPic():

我=0

对于Hero_number: 的j

#创建文件夹

os.mkdir(\’C:\\\\Users\\\\Administrator\\\\Desktop\\\\wzry\\\\\’ + Hero_name[i])

# 进入创建的文件夹

os.chdir(\’C:\\\\Users\\\\Administrator\\\\Desktop\\\\wzry\\\\\’ + Hero_name[i])

我+=1

对于k 在(10): 范围内

# 拼接网址

onehero_link=\’http://game.gtimg.cn/images/yxzj/img202306/skin/hero-info/\’ + str(j) + \’/\’ + str(

j) + \’-bigskin-\’ + str(k) + \’.jpg\’

im=requests.get(onehero_link) #请求网址

如果im.status_code==200:

open(str(k) + \’.jpg\’, \’wb\’).write(im.content) #写入文件

downloadPic() 去掉了注释,并用大约20 行代码完成了王者荣耀中所有英雄的皮肤抓取。是不是很容易呢?要测试该程序,首先您需要在桌面上创建一个名为wzry 的文件夹。如果您想更改此设置,也可以在创建文件夹后执行此操作。运行并等待一段时间,所有照片将被下载。

您还可以使用jsonpath 模块来解析程序中的json 字符串。分析方法如下。

Hero_name=jsonpath.jsonpath(html_json, \’$.cname\’)

Hero_number=jsonpath.jsonpath(html_json, \’$.ename\’)

该方法需要一个json 字符串和一个解析规则。 $.cname 表示从根目录的任意位置使用cname 作为键查找值并将其放入字典中。结尾

爬虫非常直观,具有视觉冲击力,并且编写起来非常有价值。爬虫很强大,但它们不应该随意爬取您的个人信息。

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

本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/645651.html

(0)
上一篇 2024年5月29日
下一篇 2024年5月29日

相关推荐

  • 和平精英瞬狙排名? 和平精英瞬狙教学?

    和平精英瞬狙排名? 随着手机技术的快速发展使得手机拥有者的基数越来越多,现如今的智能手机已经成为了人们生活的必需品,与此同时手游也伴随着手机的发展如雨后春笋迅猛发展,时至今日和平精英已经成为了最火的射击类手游,相比较于其前身的端游绝地求生已经不逞多让甚至还盖过他的风头。 我们在玩和平精英的同时也会去关注一些和平精英游戏主播,或被他们的技术所吸引,或因他们的直…

    游戏快讯 1小时前
  • 和平精英如何成为巡查员?

    和平精英如何成为巡查员? 和平精英想要成为巡查员的话,难度非常的高,首先你必须赛季上战神,然后的话把把必须都胜利,然后的话,那个平均度秘需要很好,然后有那个赛季奖章和VIP,然后的话,有这些你就可以最基础的进入那个巡查了,然后的话,你累计巡查拿到巡查服,你就是巡查员了 2021如何成为和平精英巡查员? 达到五个赛季的超级王牌就可以申请了。 和平精英外挂巡查员…

    游戏快讯 2小时前
  • 和平精英龙腾端午怎么搭配好看?

    和平精英龙腾端午怎么搭配好看? 您好,以下是一些搭配建议: 1. 龙腾端午限定皮肤+和平精英龙腾限定套装:两个主题的搭配可以让玩家在游戏中展现出更多的个性。 2. 和平精英龙腾限定套装+红色主题皮肤:红色代表着热情和勇气,可以与龙腾主题相得益彰。 3. 和平精英龙腾限定套装+金色主题皮肤:金色代表着财富和尊贵,可以与龙腾主题相互映衬。 4. 和平精英龙腾限定…

    游戏快讯 7小时前
  • 和平精英颜色怎么调? 和平精英猫咪有几个颜色?

    和平精英颜色怎么调? 和平精英颜色调设就是通过在游戏画面设置里面对分辨率进行调整。 第一步,打开和平精英app。登录游戏账号。 第二步,打开设置,点击画面设置。 第三步,点击分辨率设置,将分辨率进行调整,分辨率越高,颜色越强烈。分别率越低,颜色越平淡。 和平精英猫咪有几个颜色? 一共有三个颜色:黑色,银色和橘色 和平精英猫咪驾到系列皮肤一、神秘黑猫二、软萌银…

    游戏快讯 8小时前
  • 和平精英怎么创造角色?

    和平精英怎么创造角色? 创建角色直接在仓库里面更换形象 和平精英怎么绑定角色? 和平精英绑定角色的方法: 1.打开微信搜索框,搜索心悦俱乐部公众号点击进入。 2.关注心悦俱乐部公众号,进入信息页面。 3.在公众号信息页面,浏览底部点击心悦微世界。 4.进入心悦微世界后,即可绑定相应的游戏角色了。 和平精英怎么注销角色? 1.点击三角图标。进入和平精英游戏页面…

    游戏快讯 11小时前