python爬取王者荣耀皮肤 ,源码,分析,知识点

本文介绍了一个使用Python编写的爬虫程序,该程序能够从王者荣耀官网抓取所有英雄及其皮肤的图片,并将其保存到本地指定目录。文章详细展示了如何利用requests库进行HTTP请求,json库解析JSON数据,os库进行文件操作,以及time库测量程序运行时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- coding:utf-8 --

import requests
import json
import os
import time

start = time.time() # 程序开始时间

url = requests.get(‘http://pvp.qq.com/web201605/js/herolist.json’).content

jsonFile = json.loads(url) # 提取json

print(jsonFile)

x = 0 # 用于记录下载的图片张数

目录不存在则创建

hero_dir = (r’E:\code\python\skin\’)
if not os.path.exists(hero_dir):
os.makedirs(hero_dir)

for m in range(len(jsonFile)):
ename = jsonFile[m][‘ename’] # 编号
cname = jsonFile[m][‘cname’] # 英雄名字
skinName = jsonFile[m][‘skin_name’].split(’|’) # 切割皮肤的名字,用于计算每个英雄有多少个皮肤
skinNumber = len(skinName)

下载图片,构造图片网址

for bigskin in range(1, skinNumber + 1):
urlPicture = ‘http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/’ + str(ename) + ‘/’ + str(
ename) + ‘-bigskin-’ + str(bigskin) + ‘.jpg’
picture = requests.get(urlPicture).content # 获取图片的二进制信息

with open(hero_dir + cname + “-” + skinName[bigskin - 1] + ‘.jpg’, ‘wb’) as f: # 保存图片
f.write(picture)
x = x + 1
print(“正在下载…第” + str(x) + “张”)

end = time.time() # 程序结束时间
time_second = end - start # 执行时间
print(“共下载” + str(x) + “张,共耗时” + str(time_second) + “秒)
一、import json 知识点
json.dump()、 #将Python内置类型序列化为json对象后写入文件
json.dumps()、 #将 Python 对象编码成 JSON 字符串
json.load()、 #读取文件中json形式的字符串元素转化为Python类型
json.loads()、 #将已编码的 JSON 字符串解码为 Python 对象
二、import time 知识点
start = time.time() #程序开始时间

end = time.time() #程序结束时间
time_second = end-start #执行时间
print(共耗时”+str(time_second)+“秒)
三、import os 知识点
os.path.exists( ):#判断是否存在文件或目录
os.mkdir() #创建目录
os.maskdirs() #创建多级目录
四、import requests 知识点
url=requests.get(‘http://pvp.qq.com/web201605/js/herolist.json’).content
#requests.get() GET请求方式 其中返回的网页部分会存在.content和.text两个对象中。两者区别在于,content中间存的是字节码,而text中存的是Beautifulsoup根据猜测的编码方式将content内容编码成字符串
五、for i in range ( ) : #循环
六、len( ) #返回对象(字符、列表、元组等)长度或项目个数。
七、 with open(hero_dir+cname+”-"+skinName[bigskin-1]+’.jpg’,‘wb’) as f:
f.write(’ ')
#写入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值