admin管理员组文章数量:1619275
文章目录
- 思路分析
- 完整代码
- 效果展示
思路分析
首先,进入英雄联盟的官网资料站。
通过抓包分析,我们可以得到每个英雄的ID。
随便找个英雄点开,进入详情页面。
查看页面的源代码,我们可以定位到图片的URL链接。
但是这些图片的URL链接都是通过js加载的,我们直接请求这个页面是找不到的,于是,继续进行抓包分析。
找到图片的URL链接后,我们就可以开始写代码爬取图片了。
完整代码
# !/usr/bin/env python
# —*— coding: utf-8 —*—
# @Time: 2020/1/29 9:44
# @Author: Martin
# @File: lol_skin.py
# @Software:PyCharm
import requests
import json
import os
url1 = 'https://game.gtimg/images/lol/act/img/js/heroList/hero_list.js'
raw_url2 = 'https://game.gtimg/images/lol/act/img/js/hero/%s.js'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'}
r = requests.get(url1, headers=headers)
hero = json.loads(r.text)['hero']
for it in hero:
heroId = it['heroId']
name = it['name']
url2 = raw_url2 % heroId
response = requests.get(url2, headers=headers)
skin_data = json.loads(response.text)['skins']
i = 1
for item in skin_data:
if item['mainImg'] != "":
skin_url = item['mainImg']
if not os.path.exists('./result/LoLSkin/'+name):
os.makedirs('./result/LoLSkin/'+name)
result = requests.get(skin_url, headers=headers)
with open('./result/LoLSkin/'+name+'/'+name+str(i)+'.jpg', 'wb') as f:
f.write(result.content)
print(name+str(i))
i += 1
效果展示
版权声明:本文标题:英雄联盟皮肤图片爬取 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728794910a1174077.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论