一、简单介绍
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。
爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。
二、知识点
1、import requests 进行网页数据请求获取;
2、把解析的数据保存到本地;
3、类 与 函数的封装(面向对象);
4、分析规律,拼凑网址,下载图片;
5、json 在 python 中的使用;
6、os 创建文件夹;
7、time 计时功能;
三、注意事项
1、json loads 数据时,如宝宝下面的错误注意 添加如下代码
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0
with open(path, "r", encoding="utf-8") as f:
heros_str = f.read()
# json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0
#避免上面报错添加的 分析原因是因为txt文件包含BOM字符,去掉BOM字符
if heros_str.startswith(u'\ufeff'):
heros_str = heros_str.encode('utf8')[3:].decode('utf8')
hero_list = json.loads(heros_str, encoding="utf-8")
2、在解析json的时候,可能马超的数据目前可能缺失 "skin_name": "冷晖之枪|幸存者",会报错
解决方式,删除下载马超,或者添加上即可
四、效果预览
五、实现步骤
分析实现原理:
1)可以通过该 http://pvp.qq.com/web201605/herolist.shtml 网址获取英雄列表的json数据
2)再分析英雄皮肤网址,可得知皮服下载地址为一个统一的基地址+英雄id+皮肤id
hero_skin_base_url = "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{}/{}-bigskin-{}.jpg"
————————————————