Python爬虫之王者荣耀皮肤

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


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

1.分析网站

1.分析目标网页,确定爬取的url路径
Python爬虫之王者荣耀皮肤

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

2.获取网页数据

2.发送请求–requests 模拟浏览器发送请求,获取响应数据
Python爬虫之王者荣耀皮肤

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

3.提取数据

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

data_list=json.loads(data_str)

Python爬虫之王者荣耀皮肤
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’
Python爬虫之王者荣耀皮肤

    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)

Python爬虫之王者荣耀皮肤

最后的效果展示:
Python爬虫之王者荣耀皮肤

上一篇:PHP设计模式-简单工厂模式


下一篇:Pupu(二分快速幂)