python爬虫脚本 初级入门爬虫英雄联盟所有皮肤_用Python爬取英雄联盟(lol)全部皮肤...
首先,我们打开英雄联盟官网主页,网址为:https://lol.qq.com/main.shtml,然后向下拉,可以看到英雄列表,如图所示:
接着随意选一个英雄点击进入看一下,如图所示:
再点击鼠标右键,接着选择检查,看一下皮肤的 URL,如图所示:
通过观察,可以发现英雄皮肤 URL 组成方式为:https://game.gtimg.cn/images/lol/act/img/skin/big + 英雄id + 皮肤id.jpg。
我们先看皮肤id,也就是看皮肤的个数,选择开发者工具的Network项,之后刷新一下页面,可以发现有一个17.js的请求,17实际就是英雄id,如图所示:
再选择Response项看一下相应数据,如图所示:
我们可以看到数据都显示在了一行,看着不太方便,我们将其格式化看一下,如图所示:
通过观察,可以发现获取指定英雄皮肤id的 URL 就是:https://game.gtimg.cn/images/lol/act/img/js/hero/ + 英雄id.js,获取皮肤id及下载皮肤图片的代码实现如下:
hero_skin_url = 'https://game.gtimg.cn/images/lol/act/img/js/hero/' + hero_id + '.js'
# 通过 url 获取英雄的皮肤数量
skin_text = requests.get(hero_skin_url).text
skin_json = json.loads(skin_text)
skin_list = skin_json['skins']
# 获取皮肤名
hero_skins.clear()
for skin in skin_list:
hero_skins.append(skin['name'].replace('/', '').replace('\\', '').replace(' ', ''))
# 皮肤数量
skins_num = len(hero_skins)
s = ''
for i in tqdm(range(skins_num), desc='【' + hero_name + '】皮肤下载'):
if len(str(i)) == 1:
s = '00' + str(i)
elif len(str(i)) == 2:
s = '0' + str(i)
elif len(str(i)) == 3:
pass
try:
# 拼接指定皮肤的 url
skin_url = 'https://game.gtimg.cn/images/lol/act/img/skin/big' + hero_id + '' + s + '.jpg'
img = requests.get(skin_url)
except:
# 没有炫彩皮肤 url 则跳过
continue
# 保存皮肤图片
if img.status_code == 200:
with open(hero_skins[i] + '.jpg', 'wb') as f:
f.write(img.content)
现在就差英雄id参数的获取了,我们接着看如何获取全部的英雄id,返回到 https://lol.qq.com/main.shtml页面,打开开发者工具并选择Network,然后刷新页面,我们可以观察到有一个hero_list.js的请求,如图所示:
与皮肤id的获取基本类似,通过这个请求就可以获取到全部英雄id,代码实现如下:
url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'
hero_text = requests.get(url).text
# 转为 json 格式
hero_json = json.loads(hero_text)['hero']
path = os.getcwd()
# 获取当前文件夹路径
workspace = os.getcwd()
# 皮肤路径
skin_path = "{}\\{}".format(workspace, 'skins')
# 遍历列表
for hero in hero_json:
# 将每一个英雄的 id、name 放入一个字典中
hero_dict = {'id': hero['heroId'], 'name': hero['name']}
# 放入列表
heros.append(hero_dict)
我们可以看出:代码中除了英雄id,还获取了英雄name,并将每一个英雄的id、name放在了一个字典中,又将所有英雄对应的字典放在了列表中。
最后,我们看一下下载效果:
注意:如果你是打算找python高薪工作的话。我建议你多写点真实的企业项目积累经验。不然工作都找不到,当然很多人没进过企业,怎么会存在项目经验呢? 所以你得多找找企业项目实战多练习下撒。如果你很懒不想找,也可以进我的Python交流圈:1156465813。群文件里面有我之前在做开发写过的一些真实企业项目案例。你可以拿去学习,不懂都可以在裙里找我,有空会耐心给你解答下。
以下内容无用,为本篇博客被搜索引擎抓取使用
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
python 基础教程 网络爬虫 python python 爬虫经典例子
python 爬虫
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
以上内容无用,为本篇博客被搜索引擎抓取使用
python爬虫脚本 初级入门爬虫英雄联盟所有皮肤_用Python爬取英雄联盟(lol)全部皮肤...相关推荐
- python爬虫脚本 初级入门爬虫英雄联盟所有皮肤_Python爬虫练习:20行Python代码爬取王者荣耀全英雄皮肤...
引言王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工作 ...
- Python爬虫脚本,初级入门爬取英雄联盟所有皮肤(源码)
import requests import os# 创建lol文件夹 os.mkdir("lol")# 2.读取js文件,获取英雄id(hero_id) url = 'https ...
- python是脚本语言、主要用作系统编程和_关于Python是不是脚本语言的探讨
很多人认为Python是单纯的脚本语言,认为它是一门简单的语言.其实,脚本语言并不是所谓的简单,而是简洁.Python可以使得一些复杂的编程任务变得简单而不是简单的编程语言.所以要是给Python一个 ...
- python游戏辅助lol_Python爬虫实战,60行代码爬取英雄联盟全英雄全皮肤,找寻曾今那些被删除的绝版皮肤...
学了一周多的爬虫课后终于按捺不住了,小编决定自己手动编写爬虫程序,刚好LJ在鼓励学员分享成果,优秀作品有奖励,就把自己用Python编程爬取各大游戏高清壁纸的过程整理了出来进行投稿,与大家一起分享. ...
- Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤
Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤 文章目录 Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤 背景:LOL这款游戏有着大量的玩家,这个游戏里面人们津津乐道的皮肤,每一款 ...
- 牛散村:python怎么爬取英雄联盟皮肤图片?爬虫实战!
相信很多小伙伴都是喜爱英雄联盟的玩家,英雄联盟的皮肤制作还是比较精美的,有收集癖好的小编打算用爬虫将官网的皮肤爬取下来.接下来就看小编怎么用python爬取英雄联盟皮肤吧!(内附python爬虫源代码 ...
- 【Python爬虫】爬取英雄联盟所有皮肤图片实现千图成像~
前文 本文主要分为两个部分 一部分是爬虫,这边是选择爬取英雄联盟官网英雄资料中的英雄皮肤图片,如下为新英雄seraphine的页面,包含英雄对应的所有皮肤: 另一部分是图片的合成,先将所有英雄皮肤图片 ...
- python桌面爬虫_Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】...
本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能.分享给大家供大家参考,具体如下: 使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowy ...
- python爬虫——爬取英雄联盟英雄基本信息
爬取英雄联盟英雄基本信息 import requests import re import pymysqldb=pymysql.connect('localhost','root','126315', ...
- python英雄联盟脚本是什么_Python3爬取英雄联盟英雄皮肤大图实例代码
爬虫思路 初步尝试 我先查看了network,并没有发现有可用的API:然后又用bs4去分析英雄列表页,但是请求到html里面,并没有英雄列表,在英雄列表的节点上,只有"正在加载中" ...
最新文章
- Git学习系列之一些常用的Git命令收录更新ing
- Visual C++ 2011-6-6
- Vue.js@2.6.10更新内置错误处机制,Fundebug同步支持相应错误监控
- 透过 3.0 Preview 看 Dubbo 的云原生变革
- linux 1080ti显卡黑屏,Ubuntu 17.04+GTX1080Ti 安装辛酸之路
- python 实现文本自动翻译功能
- 《Java设计模式》之桥接模式
- Fail - Fast机制
- HIVE 面试题总结
- 一款功能综合的CSS滑动门特效
- 惠普HP LaserJet Pro M305d 打印机驱动
- origin双y轴数据散点图显示
- 串的模式匹配python
- clipboard 多次回调
- 新版Matlab中神经网络训练函数Newff的使用方法
- android 设置EditText可输入和不可输入状态
- c语言中将分钟的时间转换为小时和分钟并存的形式
- 面试难,应聘难,好工作,今安在?——《编程之美——微软技术面试心得》为你探路!即将上市,敬请关注!
- pcl编译时 Could NOT find ClangFormat
- 大学生的小乐趣:HTML制作MacOS Dock栏
热门文章
- ZYNQ sd卡启动失败,mmc0: error -84 whilst initialising SD card, SD卡只读,mmcblk0: mmc0:0001 SD 8 GiB (ro)
- iscsi btrfs 扩容操作
- python n个list如何组成矩阵_使用Python并行框架Dask处理和分析大规模时空数据
- mysql memory leak,项目在Tomcat中启动出现内存泄露memory leak
- IE低版本升级到IE11,问题总结
- 解决qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.问题
- 三星发布全球首款太阳能笔记本
- 电热毯UL964标准上架亚马逊所需资料流程
- python3 tkinter 出现_tkinter.TclError: can’t invoke “destroy” command: application has been destroyed
- 51学习(2):vscode+ Embedded IDE开发环境搭建