首页 > 技术文章 > Python 爬虫 之 爬取王者荣耀的英雄们所有大皮肤图片

cwgmarkets 2021-08-06 10:34 原文

一、简单介绍
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"
————————————————
版权声明:本文为CSDN博主「仙魁XAN」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014361280/article/details/104236704

推荐阅读