Python批量爬取王者荣耀英雄高清壁纸
前言
很多喜欢玩王者的朋友很希望把王者荣耀的英雄图片拿来做壁纸吧,下面给大家提供下批量爬取王者荣耀高清图片的python代码,博主就先展示几张高清壁纸:
![](https://img-blog.csdnimg.cn/20210415183653232.jpg?x-oss-)
![](https://img-blog.csdnimg.cn/20210415184740194.jpg?x-oss-)
![](https://img-blog.csdnimg.cn/20210415184559339.jpg?x-oss-)
爬虫步骤
1.先找到网页请求的url
2.对目标网页url发出请求,拿到的是json数据
3.解析数据
4.对目标图片url发出请求,拿到内容
5.自定义文件名,保存数据
python代码实现
import requests as req
import jsonpath as js
# 1.目标url = 'https://pvp.qq.com/web201605/js/herolist.json'
# 2.对目标url发出请求,拿到数据,json数据 200 表示请求成功
# 3.解析数据 (英雄id 英雄的名字)
# 4.对图片的url发送请求,拿到内容
# 5.自定义文件名
url='https://pvp.qq.com/web201605/js/herolist.json'
a = req.get(url).json()
id_list = js.jsonpath(a,'$..ename') # 英雄id
name_list = js.jsonpath(a,'$..cname') #英雄名字
for id,name in zip (id_list,name_list):
img_url = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{}/{}-bigskin-1.jpg'.format(id,id)
c = req.get(img_url).content
fileName = name + '.jpg' # 5.自定义文件名
print(fileName)
# 保存数据
with open('img/'+fileName,'wb') as f:
f.write(c)
总结
-
值得注意的一点就是在查找图片url,要找准,并且还要观察图片链接的规律。
比如:
艾琳图片的url为:
//game.gtimg.cn/images/yxzj/img201606/skin/hero-info/155/155-bigskin-1.jpg
干将莫邪的url为:
//game.gtimg.cn/images/yxzj/img201606/skin/hero-info/182/182-bigskin-1.jpg
发现只有两个数字不同,观察英雄的id发现,该数字为英雄的id,所以图片的url的:
‘https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/英雄id/{英雄id}-bigskin-1.jpg’ -
查看图片url的方法,找到图片页,实例如下
![](https://img-blog.csdnimg.cn/20210415194850424.png?x-oss-)
![](https://img-blog.csdnimg.cn/20210415194850107.png?x-oss-)
-下载的结果展示
![](https://img-blog.csdnimg.cn/20210415210937102.png?x-oss-)