日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

30行代码爬取英雄联盟端游英雄皮肤图片

發布時間:2023/12/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 30行代码爬取英雄联盟端游英雄皮肤图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源碼在底下

端游網頁鏈接 :英雄聯盟全新官方網站-騰訊游戲

1、點擊資料庫

2、按F12進入開發者模式并刷新,在搜索框里輸入js回車

找到hero_list.js,這個里面存儲著所有的英雄信息

?點擊hero_list.js,在preview里面就能看到儲存的信息

3 、隨機點一個英雄進去,在這里我選擇的是安妮

然后按F12進入開發者模式并刷新

4、在搜索框里輸入js并找到標注的地方

?點擊進去,我們就可以發現安妮的所有皮膚信息都存儲在skins里面

?通過測試我們發現皮膚的大圖在mainimg里面

?5、整理思路

????????先看一下1.js的網頁鏈接,我們多看幾個英雄就可以發現這個鏈接構成只有hero/后的數字不同,剩下的全部都是相同的,通過對比hero_list.js,我們就可以發現這個數字就是hero_list里面的heroId。

? ? ? ? 因此,我們先通過hero_list.js提取出所有英雄的heroid以及name,然后通過添加heroid構成每個英雄儲存皮膚信息的鏈接,再提取出所有的圖片

?6、源代碼

import requests import os import jsonurl = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js?ts=2755589" response = requests.get(url).text #將獲取到的網頁信息轉化為json格式 html = json.loads(response) listHero = html['hero']#計數器 sum = 0 #提取信息 for i in listHero:heroNumber = i['heroId']heroName = i['name']#一個英雄創建一個文件夾h = "F:\\lolComputer_img\\"+heroName+r"\\"if not os.path.exists(h):os.makedirs(h)#構建每個英雄的皮膚圖片鏈接imgText = "https://game.gtimg.cn/images/lol/act/img/js/hero/"+heroNumber+".js?ts=2755591"imgResponse = requests.get(imgText).text#轉化為json格式imgHtml = json.loads(imgResponse)img_url = imgHtml['skins']#提取信息for i in img_url:'''皮膚的大圖儲存在mainImg中,但是有的炫彩皮膚并沒有大圖,而是小圖標的形式存在的。所以需要判斷mainImg是否是空的。如果是則跳過'''if i['mainImg'] != "":img = requests.get(i['mainImg']).content#將圖片寫入文件夾中with open(h+i['name'].replace("/","")+'.jpg','wb') as f:f.write(img)#計數sum = sum+1print(sum,i['name'],"下載成功!")else:pass print("下載完成!")

7、成果

總結

以上是生活随笔為你收集整理的30行代码爬取英雄联盟端游英雄皮肤图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。