간이 파충류--50줄 코드 획득 영웅연맹 전 영웅 피부

9130 단어 python
50줄 코드 완성 리그 오브 레전드 LOL 올히어로 스킨 다운로드
#            
import os
import requests


def downloadPic(heroIds, titles, names,path):
    i = 0
    for j in heroIds:
        #      
        os.mkdir(path + names[i] + '-' + titles[i])
        os.chdir(path + names[i] + '-' + titles[i])
        i += 1
        link = 'https://game.gtimg.cn/images/lol/act/img/js/hero/' + j + '.js'

        res = requests.get(link)  #   url
        res = res.json()  #    json  

        skins = res['skins']
        for k in range(len(skins)):
            imgurl = skins[k]['mainImg']
            if imgurl != '':
                # imgurl = skins[k]['chromaImg']
                # img_title = skins[k]['name'].split(' ')[0]
                im = requests.get(imgurl)  #     url
                if im.status_code == 200:
                    open(str(k) + '.jpg', 'wb').write(im.content)  #     
                else:
                    print(link)
                    print(imgurl)


def getData(path):
    url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'
    herolist = requests.get(url)  #       json  
    herolist = herolist.json()  #    json  
    herolist_json = herolist['hero']

    heroIds = list(map(lambda x: x['heroId'], herolist_json))  #        
    titles = list(map(lambda x: x['title'], herolist_json))  #        
    names = list(map(lambda x: x['name'], herolist_json))  #        

    downloadPic(heroIds, titles, names,path)


if __name__ == '__main__':
    path = "C:\\Users\\admin\\Desktop\\lol\\" #      
    os.mkdir(path)
    getData(path)


사고방식: 이 페이지에서 캡처한 내용은 실제적으로 js에게 요청한 내용을 통해 페이지를 채우는 것이기 때문에 F12는 페이지의 요청 js를 분석하고 링크를 얻으며 요청하고 js의 귀환 결과를 처리하면 된다.


주:채소새가 새로 배운python, 대신들의 가르침을 바랍니다.

좋은 웹페이지 즐겨찾기