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

在这里插入图片描述

文章目录

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


前言

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

一、爬虫是什么?

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

二、使用步骤

1.引入库

import requests  # URL请求库,向网页发起请求

2.访问的URL

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

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

3、爬取思路

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

这就要用到键盘上的一个功能键【F12】,即开发者工具。(或者在网页上右键–>检查)

图片所示的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(需要手动找出)

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

完整代码

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

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

for i in range(len(response)):
	ename = response[i]['ename']
	cname = response[i]['cname']
	title = response[i]['title']
	if response[i]['skin_name'] is None:
		print(ename,cname,title)
	else:
		skin_name = response[i]['skin_name'].split('|')
		print(ename,cname,title,skin_name)

		for i in range(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
			with open('F:/clawer/hero_skins/'+cname+skin_name[i-1]+'.jpg','wb')as f:
				f.write(picture)
				print('正在下载'+skin_name[i-1]+'皮肤')

四、效果展示

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

总结

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

你可能感兴趣的:(爬虫,Python,python,爬虫)