台服lol皮肤批量下载
本帖最后由 苹果刺客 于 2021-6-1 12:59 编辑import requests
import os
from bs4 import BeautifulSoup
hero_url = 'https://lol.garena.tw/'
url = 'https://lol.garena.tw/champions'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'lxml')
api_url = 'https://mock.mengxuegu.com/mock/608b9c271d10f86a7bd6aa6c/garena_text/Hero_list'
hero = requests.get(api_url).json()
hero_len = len(hero['Hero_list'])
# 155个
box = soup.find_all("a", class_="box")
for i in range(0, hero_len):
# print(hero['Hero_list']['ENM'])
# 根据汉字名创建文件夹
cnm = hero['Hero_list']['CNM']
os.mkdir(cnm)
hero_short_url = box.attrs['href']
complete_url = hero_url + hero_short_url
# print(complete_url)
res_2 = requests.get(complete_url)
soup_2 = BeautifulSoup(res_2.text, 'lxml')
swiper_wrapper = soup_2.find_all("div", class_='swiper-slide')
skin_num = int(len(swiper_wrapper) / 2)
# 共计多少个皮肤
skin_total = swiper_wrapper[-skin_num:]
for w in range(0, skin_num):
print(skin_total.text)
skin_title = str(skin_total.text).replace('/', '')
skin_img_src = skin_total.find('img').get('src')
print(skin_img_src)
tui_res = requests.get(skin_img_src)
# './image/img3.png'
filename = './' + cnm + '/' + skin_title + '.jpg'
with open(filename, "wb") as f:
f.write(tui_res.content)
本人菜鸟一枚,还望诸君勿喷,此代码没有加入异步动作,运行会比较慢,
加入此段代码skin_title = str(skin_total.text).replace('/', '')
是因为有K/DA皮肤,在路径保存的时候,会扰乱本地保存路径
本来是想转义字符串,可是尝试了好多次,没有成功,
如有更好的方法,请大家多多指教 这个可以 不错不错 liangqz 发表于 2021-6-1 12:30
这个可以
感谢大家的支持 这个可以 强啊,收藏了 不错啊
收藏一下 台服啊,可以吗? zhx79 发表于 2021-6-1 14:10
台服啊,可以吗?
可以的哦,只是有点慢
因为我没加异步操作:rggrg 哦这是下皮肤原画吗
页:
[1]
2