ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python爬虫之王者荣耀皮肤

2021-04-30 23:02:09  阅读:217  来源: 互联网

标签:name 王者 Python 爬虫 url json skin requests data


Python爬虫之王者荣耀的全部皮肤


环境要求: requests扩展包,json模块
requests是一个python发送网络请求的 第三方库
json模块:把json字符串转化成python可交互的数据类型 需要安装 pip install requests
导入 requests

1.分析网站

1.分析目标网页,确定爬取的url路径
在这里插入图片描述

import requests
base_url='https://pvp.qq.com/web201605/js/herolist.json'

2.获取网页数据

2.发送请求–requests 模拟浏览器发送请求,获取响应数据
在这里插入图片描述

response=requests.get(base_url)
date_str=response.text

3.提取数据

1.解析数据—json模块:把字符串转化成python可交互的数据类型
3.1转化数据类型

data_list=json.loads(data_str)

在这里插入图片描述
3.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)

构建所有英雄皮肤图片的url链接地址
所有皮肤的url的构建
http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/’+英雄编号+’/’+英雄编号+’-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'
        skin_data=requests.get(skin_url).content

4.保存图片

保存数据—保存在目标文件夹中
注意:我这里是自己建了一个文件夹img我将图片都放在里面了,img文件夹要自己建在与执行的代码文件同一目录下

   with open('img\\'+cname+'-'+skin_name[skin_num-1]+'.jpg','wb') as f:
            print('正在下载图片:',cname+'-'+skin_name[skin_num-1])
            f.write(skin_data)

在这里插入图片描述

最后的效果展示:
在这里插入图片描述

标签:name,王者,Python,爬虫,url,json,skin,requests,data
来源: https://blog.csdn.net/qq_50231389/article/details/116176768

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有