python爬虫:照着做,王者农药的皮肤都是你的。[Python基础]
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
一、前言
听说很多小伙伴喜欢王者荣耀这个moba类游戏,下面老师带大家把游戏中所有英雄的皮肤图片爬取下来一睹为快把。。。
二、课程亮点
1、分析url地址构成
2、数据的字段提取
3、记录程序运行时间
三、所用到得库
import requests # 第三方模块import time # 时间模块
import pprint # 格式化输出模块
四、环境配置
python 3.6pycharm
requests
五、找寻数据地址:
# 记录程序运行的开始时间(时间戳)start_time = time.time()
# 找数据地址
url = "https://pvp.qq.com/web201605/js/herolist.json"
六、发送网络请求
# 发送网络请求response = requests.get(url=url)
json_data = response.json()
# pprint.pprint(json_data)
七、完整代码:
# 数据提取 id(ename) 英雄名字(cname) 皮肤数量(skin_name)for data in json_data:
cname = data["cname"] # 英雄名字
ename = data["ename"] # 英雄id(ename)
try:
skin_name = data["skin_name"].split("|") # 皮肤数量(skin_name)
except:
pass
# print(cname, ename, skin_name)
# 构建皮肤数量的循环
"""
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/106/106-bigskin-7.jpg
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/ + 英雄id + "/" + 英雄id + -bigskin- + 皮肤数量 + ".jpg"
"""
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)
# 请求每一个图片地址数据
skin_data = requests.get(skin_url).content
# 图片数据的保存 英雄名字 + 皮肤名字 + 文件尾缀
with open("pic" + cname + "-" + skin_name[skin_num - 1] + ".jpg", mode="wb") as f:
f.write(skin_data)
print("保存完成:", cname + "-" + skin_name[skin_num - 1])
all_time = time.time() - start_time
print("共花费时间(单位秒): ", all_time)
结尾
爬虫是非常有趣的,因为它非常直观,视觉冲击感强,写出来也很有成就感,爬虫虽然强大,但千万不能随意爬取隐私信息。
以上是 python爬虫:照着做,王者农药的皮肤都是你的。[Python基础] 的全部内容, 来源链接: utcz.com/z/530409.html