英雄聯盟皮膚大拼圖

有態度的學習

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

相關文章
相關標籤/搜索