python-王者荣耀皮肤爬取
程序员文章站
2022-05-08 13:06:05
...
王者荣耀皮肤爬取
爬虫一般思路
-
发起请求,获取响应
通过http库,对目标站点进行请求。等同于自己打开浏览器,输入网址库:urllib、requests;
服务器返回请求内容一般为:html、文档、json字符串等。 -
解析内容:
寻找自己需要的信息,利用正则表达式或者其它库获取目标;
常用的库:re、beautifulsoup4 -
保存数据
实列
import requests
# import pprint
import time
start_time = time.time()
# 1.分析目标网页,确定爬取的ur1的路径
url = 'https://pvp.qq.com/web201605/js/herolist.json'
# 2.发送请求 -- requests 校浏览器发生请求,获取相应数据
response = requests.get(url)
data = response.json()
# print(data)
# pprint.pprint(data)
# 3.解析数据 -- json模块:把json字符串转换成python交互的数据类型
for data1 in data:
cname = data1['cname'] # 英雄的名称
ename = data1['ename'] # 英雄的ID
try:
skin_name = data1['skin_name'].split('|') # 英雄皮肤的名称
except Exception as e:
print(e)
print(cname, ename, skin_name)
# 构间皮肤数量的循环:
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"
# print(skin_url)
img_data = requests.get(skin_url).content
#保存数据
with open('img\\' + cname + '-' + skin_name[skin_num-1] + '.jpg', mode="wb") as f:
print('正在下载图片:', cname + '-' + skin_name[skin_num-1])
f.write(img_data)
end_time = time.time()
print('花费时间:', end_time - start_time)
上一篇: js继承机制的实现