不知不觉英雄联盟也到了S8,做为S4入坑的我,还一直在默默的关注着。今年RNG的一路夺冠,再到SKT的淘汰,联盟发生了挺大的变化,固然啦本身也从联盟中脱坑了,平时也就看看比赛娱乐娱乐本身,虽然说生活不止眼前的苟且,还有诗和远方,但现实老是那么可怕,游戏终归是游戏。html
接下来作的一组拼图也算是对本身联盟生涯的致敬,毕竟生活不易,好好学习才是正道。web
细节图以下,由于图片色彩问题,有的图片会被复用,不过不影响大局啦~json
爬取代码以下:ide
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千多张,包括原画皮肤)url
对爬取的图片进行拼图操做
拼图软件使用的是AndreaMosaic,也是本身在网上找的拼图神器,具体设置如上图,也能够本身多试试,说不定就有不同的效果。3d
最后附上两张招牌皮肤code