英雄联盟皮肤爬虫
利用抓包抓取json数据进行爬取
一共155个皮肤 比较简单 下面是代码
import requests
import os
import time
def get_one(n):
url = 'https://game.gtimg.cn/images/lol/act/img/js/hero/'+str(n)+'.js'
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}
lst = []
con = requests.get(url,headers = header).json()
for i in con['skins']:
if i['mainImg'] != '':
dic = {'img_url' : i['mainImg'],
'img_name' : i['name']}
else:
dic = {'img_url': i['chromaImg'],
'img_name': i['name']}
lst.append(dic)
print(lst)
name = con['hero']['name']
# name = 'anni'
path = os.getcwd()
print(path)
os.makedirs(path+'/'+name)
for i in lst:
time.sleep(0.5)
f = open(path+'/'+name+'/'+i['img_name']+'.png','wb')
print(i['img_url'])
con = requests.get(i['img_url'],headers = header)
f.write(con.content)
print('写入第'+i['img_name']+'成功')
f.close()
def get_ones():
for i in range(1,156):
get_one(i)
if __name__ == '__main__':
get_ones()