一、简单介绍

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": "冷晖之枪|幸存者",会报错

解决方式,删除下载马超,或者添加上即可

 

四、效果预览

 Python 爬虫 之 爬取王者荣耀的英雄们所有大皮肤图片_数据

 

 

 

五、实现步骤

分析实现原理:

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"

————————————————