114python之家

您现在的位置是:首页 > python > 正文

python

一键爬取王者荣耀全皮肤高清图片【方法一】

admin2021-02-06python191
【114python之家】文章目录前言一、爬虫是什么?二、使用步骤1.引入库2.访问的URL3.爬取方法另外,皮肤图片的URL也需要我们手动的将其找出完整代码总结前言相信很多小伙伴们都喜欢玩王者荣耀这

一键爬取王者荣耀全皮肤高清图片【方法一】 python 第1张

文章目录

  • 前言
  • 一、爬虫是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.访问的URL
    • 3、爬取思路
  • 三、皮肤URL(需要手动找出)
  • 完整代码
  • 四、效果展示
  • 总结

前言

相信很多小伙伴们都喜欢玩王者荣耀这款MOBA手游吧,博主也非常喜欢玩这款手游,今天我就来教会大家如何用爬虫爬取王者荣耀英雄的相关皮肤图片。

一、爬虫是什么?

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

二、使用步骤

1.引入库

importrequests#URL请求库,向网页发起请求

2.访问的URL

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(UniformResourceLocator,统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址。

在本爬虫中URL:https://pvp.qq.com/王者荣耀官网

3、爬取思路

我们写这个爬虫目的是爬取皮肤,为此我们需要在王者荣耀官网上找到英雄皮肤的数据包。那么如何找到这个数据包呢?

这就要用到键盘上的一个功能键【F12】,即开发者工具。(或者在网页上右键–>检查)
一键爬取王者荣耀全皮肤高清图片【方法一】 python 第2张
图片所示的herolist.json文件即是我们要找的数据包。我们可以先下载这个json文件看看其内容。

[{
	"ename":105,
	"cname":"廉颇",
	"title":"正义爆轰",
	"new_type":0,
	"hero_type":3,
	"skin_name":"正义爆轰|地狱岩魂"
},{
	"ename":106,
	"cname":"小乔",
	"title":"恋之微风",
	"new_type":0,
	"hero_type":2,
	"skin_name":"恋之微风|万圣前夜|天鹅之梦|纯白花嫁|缤纷独角兽"
},{
...

},{
	"ename":528,
	"cname":"澜",
	"title":"鲨之猎刃",
	"new_type":0,
	"hero_type":4,
	"skin_name":"鲨之猎刃"
},{
	"ename":537,
	"cname":"司空震",
	"title":"雷霆之王",
	"new_type":1,
	"hero_type":1,
	"hero_type2":2,
	"skin_name":"雷霆之王"}]

可以看到英雄的cname,ename以及skin_name,这对我们后续写爬虫有用

三、皮肤URL(需要手动找出)

一键爬取王者荣耀全皮肤高清图片【方法一】 python 第3张
一键爬取王者荣耀全皮肤高清图片【方法一】 python 第4张
皮肤URL链接

完整代码

#爬取王者荣耀全皮肤高清图片
importrequests

url='https://pvp.qq.com/web201605/js/herolist.json'
response=requests.get(url).json()
#print(response)

foriinrange(len(response)):
	ename=response[i]['ename']
	cname=response[i]['cname']
	title=response[i]['title']
	ifresponse[i]['skin_name']isNone:
		print(ename,cname,title)
	else:
		skin_name=response[i]['skin_name'].split('|')
		print(ename,cname,title,skin_name)

		foriinrange(1,len(skin_name)+1):
			img_url='https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{}/{}-bigskin-{}.jpg'.format(ename,ename,i)
			picture=requests.get(img_url).content
			withopen('F:/clawer/hero_skins/'+cname+skin_name[i-1]+'.jpg','wb')asf:
				f.write(picture)
				print('正在下载'+skin_name[i-1]+'皮肤')

四、效果展示

一键爬取王者荣耀全皮肤高清图片【方法一】 python 第5张
一键爬取王者荣耀全皮肤高清图片【方法一】 python 第6张
一键爬取王者荣耀全皮肤高清图片【方法一】 python 第7张

总结

以上就是今天要讲的内容,本文仅仅简单介绍了爬虫的定义,以及王者荣耀皮肤的爬取思路和实现代码。有疑问的小伙伴可以在评论区留言哦!

扫描关注公众号,第一时间获取网站更新动态

转载请说明来源于"114python之家"

本文地址:http://www.114python.com/post/9605.html

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~