用Python爬取王者荣耀英雄皮肤海报图
Python,爬取,王者,荣耀,英雄,皮肤,海报
2025-03-20 08:49:04 时间
介绍
在某平台公开课上学了怎么用python爬取王者的全英雄皮肤海报图,然后自己敲了一遍,发现还不错,把图片全部都爬取下来了,本来想用来做壁纸,但是一看,实在太丑,然后。。然后就不知道这些图片能干啥了。现在就来分享一些爬取王者海报图的思路。
思路
1,确定爬取的url路径
2,发送请求,一般需要模拟浏览器发送,需要用到 requests
3,解析数据,需要用json模块,json模块可以把json字符串转换换成Python可交互的数据
4,保存数据
开始
第一步
确定爬取的url路径
#在王者官网打开检查
base_url = 'https://pvp.qq.com/web201605/js/herolist.json'
第二步
模拟浏览器发送请求 这里要用到requests 获取响应数据
response = requests.get(base_url)
data_str = response.text #--字符串
第三步
解析数据,要用到json模块,json模块可以把 json字符串转化成python可交互的数据类型,
1,转换数据类型
data_list = json.loads(data_str)
2,解析数据
for data in data_list:
# 提取图片所需参数
ename = data['ename'] # 英雄编号
cname = data['cname'] # 英雄名字
try:
skin_name = data['skin_name'].split('|') # 切割皮肤的名字,用于计算每个英雄有多少个皮肤
except Exception as e:
print(e)
# http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/524/524-bigskin-1.jpg
#这是其中一个图片的url
# http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/ + 英雄编号 + "/" + 英雄编号-bigskin-皮肤序号 + ".jpg"
#这是图片url的格式
3,构建皮肤数量循环(使用for循环)
for skin_num in range(1, len(skin_name) + 1):
skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(ename) + '/' + str(
ename) + '-bigskin-' + str(skin_num) + '.jpg'
4,请求图片数据
skin_data = requests.get(skin_url).content
第四步
保存数据
with open('img\\' + cname + "-" + skin_name[skin_num - 1] + '.jpg', 'wb') as f:
print('正在下载皮肤:', cname + "-" + skin_name[skin_num - 1])
f.write(skin_data)
到这里就差不多结束了
完整代码
下面是一个完整代码
base_url = 'https://pvp.qq.com/web201605/js/herolist.json'
response = requests.get(base_url)
data_str = response.text
data_list = json.loads(data_str)
for data in data_list:
ename = data['ename'] # 英雄编号
cname = data['cname'] # 英雄名字
try:
skin_name = data['skin_name'].split('|')
except Exception as e:
print(e)
for skin_num in range(1, len(skin_name) + 1):
skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(ename) + '/' + str(
ename) + '-bigskin-' + str(skin_num) + '.jpg'
skin_data = requests.get(skin_url).content
with open('img\\' + cname + "-" + skin_name[skin_num - 1] + '.jpg', 'wb') as f:
print('正在下载皮肤:', cname + "-" + skin_name[skin_num - 1])
f.write(skin_data)
注意:要在目录下新建一个img的文件夹
相关文章
- 用python给女朋友表白_python绘制太阳花
- pythoncharm注释快捷键_jsp注释快捷键
- Python项目48-插播短信接口(使劲撸)
- 【水水水文章】用 Python 发邮件
- 地球科学领域Python工具合集
- Python概述
- python 字符串转成数字_python数字转十六进制字符串
- Python中的语法糖甜不甜?
- OpenCV进行人脸识别(Python)
- .app 域名发布了,我们可以使用 Python 做点什么?
- python win32api messagebox_如何在Python中使用Win32 API?
- python计算双色球数字概率_python绘制双色球走势图
- Python-drf前戏38.1-前端Vue01
- python skitlearn_Python sklearn
- Python-drf前戏38-前端Vue
- python使用RSA加密算法
- python pip源更换国内镜像,速度加快10倍
- Python项目50-Celery框架
- python部分依赖踩坑
- 一对兔子从出生后第三个月起每个月_兔子繁衍问题python