不知不覺英雄聯盟也到了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