英雄联盟皮肤大拼图
时间:2022-07-26
本文章向大家介绍英雄联盟皮肤大拼图,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
有态度的学习
不知不觉英雄联盟也到了S8,作为S4入坑的我,还一直在默默的关注着。今年RNG的一路夺冠,再到SKT的淘汰,联盟发生了挺大的变化,当然啦自己也从联盟中脱坑了,平时也就看看比赛娱乐娱乐自己,虽说生活不止眼前的苟且,还有诗和远方,但现实总是那么可怕,游戏终归是游戏。
接下来做的一组拼图也算是对自己联盟生涯的致敬,毕竟生活不易,好好学习才是正道。
细节图如下,因为图片色彩问题,有的图片会被复用,不过不影响大局啦~
爬取代码如下:
import requests
import json
import time
import re
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}
def get_hero(url):
response = requests.get(url=url, headers=headers)
html = response.text
result = re.findall('if.*?champion=(.*?)data', html, re.S)
data = json.loads(result[0][:-2] + '}')
for key, value in data['keys'].items():
hero = value
get_skin(hero)
time.sleep(2)
def get_skin(hero):
url = 'http://lol.qq.com/biz/hero/' + hero + '.js'
response = requests.get(url=url, headers=headers)
html = response.text
result = re.findall('"id":"(d{4,6})","num"', html, re.S)
for i in range(len(result)):
url_image = "http://ossweb-img.qq.com/images/lol/web201310/skin/big" + result[i] + ".jpg"
res = requests.get(url=url_image, headers=headers).content
with open("images" + str(result[i]) + ".jpg", "wb") as ob:
ob.write(res)
ob.close()
print(str(result[i]) + "is Done")
def main():
print('start the work')
url = 'http://lol.qq.com/biz/hero/champion.js'
get_hero(url)
if __name__ == '__main__':
main()
①所有英雄名称以及相应的数字获取(Ajax请求,无法通过原网站进行爬取)
②英雄详情页获取皮肤(同样是Ajax请求,这就考验眼力了,论如何快速确定真正的请求...)
从上图可以知道图片链接,那么地狱行者-孙悟空的皮肤序号就是62004,接下来就要对英雄的皮肤序号进行提取,具体如下:
③最后成功获取所有英雄的所有皮肤(一共1千多张,包括原画皮肤)
对爬取的图片进行拼图操作
拼图软件使用的是AndreaMosaic,也是自己在网上找的拼图神器,具体设置如上图,也可以自己多试试,说不定就有不一样的效果。
最后附上两张招牌皮肤
- hadoop streaming编程小demo(python版)
- 一个scrapy框架的爬虫(爬取京东图书)
- mongodb生产环境(副本集模式)集群搭建配置
- ELK日志收集分析系统配置
- 【学术】如何在15分钟内建立一个深度学习模型?
- Elasticsearch(GEO)空间检索查询
- java spark-streaming接收TCP/Kafka数据
- hiveQL求差集
- hiveQL去重
- springboot高并发redis细粒度加锁(key粒度加锁)
- java使用spark/spark-sql处理schema数据
- redis的发布订阅模式pubsub
- linux命令和awk
- django集成celery之callback方式link_error和on_failure
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- react项目搭建
- 深入理解Java泛型(三)-泛型擦除及其相关内容
- webpack实战——预处理器(loader)【下篇】
- JAVA位运算等运算符总结
- 算法实现,用机器学习模拟一个opencv的边缘识别算法
- 开源公共组件仓库的更新日志应该如何写
- 判断ABAP代码是否处于update模式下运行的工具类
- SAP CRM WebClient UI异常的持久化机制
- 在ABAP Webdynpro里显示PDF的一种办法
- ABAP Webdynpro Interface View的用法
- ABAP Webdynpro里Component Usage的用法
- ABAP Webdynpro - 如何使用用户自定义的value help
- ABAP 740的新语法 - 使用BO association的方式进行内表连接操作
- 使用代码修改SAP CRM附件的属性
- SAP CRM附件创建的internal模式是什么含义