爬取英雄联盟英雄图片建立数据集

本教程来自DUT515斑鸠实验室

小白在练习的时候,在教程里都会有各种现成的经典的数据集作为例子当你,比如鸢尾花啊:

手写数字啊:

而当你学会了这些内容,想要跃跃欲试的时候,你想要爬取一些图片作为自己的数据集的时候又苦于自己没学过爬虫吧!反正我有过这种困惑,在这里通过十来行不是很精美的代码,便可以帮你批量下载英雄联盟的英雄图片,建立属于你的数据集。

1.打开你想爬取的图片页面

在资料库里可以爬取各个英雄的每个皮肤,但这里我们教程爬取各英雄高清原画所以这里我们选择英雄联盟宇宙的英雄界面:

英雄联盟宇宙网页地址

打开页面发现里面有各种我们需要的英雄高清原画,废话不多说直接开爬!

2.确定数据来源

我们打开网页的时候会发现这些资源并不是第一时间出现的,而是经过加载之后才展示给我们的,所以我们要确定这些加载的信息的数据来源。
以Google Chrome浏览器为例,按F12进入开发者工具:

点击Network下的XHR,只保留这个数据信息,然后重新加载网页,看看会给我们返回什么数据:

我们可以从上图看出,随时间推移,我们在左侧加载了若干json数据集,在右侧Preview界面可以看到该数据集的相关数据:
其中我们点击index.json,展开其中内容可以发现,这就是我们要找的数据:

好了,这就是我们想要的东西,右键index.json,点击copy——copy link address,就可以得到该数据集的地址啦!

返回值:https://yz.lol.qq.com/v1/zh_cn/search/index.json

3.爬取图片

接下来编写代码爬取图片首先import一下我们要使用到的包:

import requests #爬图搞信息都靠它
import pprint #这个可以把你的json包信息格式较为清楚的展示

定义我们要爬取的json数据集地址:

json_url = "https://yz.lol.qq.com/v1/zh_cn/search/index.json"

返回网址中的json信息:

response = requests.get(json_url)#get一下网址里的内容
data = response.json()#将内容通过json格式保存

print一下,看看我们得到了什么:

print(data)


返回了我们想要的信息,但是格式十分不好看,它也太长了(长了还不喜欢?)
通过pprint可以调整格式,看下结果:

pprint.pprint(data)


很清晰是不是!英雄的名称,图片的下载地址都可以看到!
从中我们可以发现这个json数据集就是一个字典呀,列表啊,字典啊的嵌套,只要我们搞清楚一层一层的关系就能锁定我们想要的信息:
比如英雄的名字我们可以定位为:

data['champions'][0]['name']

英雄的图片链接我们可以定位为:

datadata['champions'][0]["image"]["uri"]

通过这两个定位,各位可以尝试能否返回你想要的东西哦!
接下来我们就写个小循环搞一下图片,并把图片的名称叫做英雄的名字:

hero = [] #定义一个空列表用来存放循环信息
hero_name = []#定义空列表存放英雄名字for i in range(148):#148个英雄,循环148次hero = data['champions'][i]#取第i次的英雄作为当前英雄hero_name.append(hero['name'])#取该英雄的名字加到名字列表print(test["image"]["uri"])#打印一下我们的下载地址img_data = requests.get(hero["image"]["uri"]).content#使用该命令找到英雄图片信息并下载内容#将下载内容写入文件,文件名为英雄名hero_names[i].jpgwith open(hero_name[i] + '.jpg', mode = "wb") as f:f.write(img_data)

好了,运行一下,等程序执行结束,看看你的代码文件夹里有没有多出148张1920X1133的帅气英雄联盟原画吧!

最后附上完整代码:

import requests
import pprintjson_url = "https://yz.lol.qq.com/v1/zh_cn/search/index.json"
response = requests.get(json_url)
data = response.json()
#html = response.text
pprint.pprint(data)
print(data)
# print(data['champions'])
hero = []
# test = data['champions'][0]
# print(test)
hero_name = []
# hero = test['name']
# print(hero)
for i in range(148):hero = data['champions'][i]hero_name.append(hero['name'])print(hero["image"]["uri"])img_data = requests.get(hero["image"]["uri"]).contentwith open(hero_name[i] + '.jpg', mode="wb") as f:f.write(img_data)

好了,下次我们一起搞一个卷积网络,下次再见!

深度学习小白入门教程(一):以英雄联盟为例,爬取你感兴趣图片,构建你自己的数据集相关推荐

  1. 深度学习小白入门教程-基础环境篇

    深度学习小白入门教程-基础环境篇 如有图片显示失败,请回小主主页查看~ Anaconda 安装包下载方式一:官网(科学上网比较慢,不推荐) 安装包下载方式二:清华镜像(推荐) 具体安装步骤(跟着箭头来 ...

  2. 图深度学习,入门教程七,残差多层图注意力模型

    深度学习还没学完,怎么图深度学习又来了?别怕,这里有份系统教程,可以将0基础的你直接送到图深度学习.还会定期更新哦. 主要是基于图深度学习的入门内容.讲述最基本的基础知识,其中包括深度学习.数学.图神 ...

  3. Python爬虫入门教程 15-100 石家庄政民互动数据爬取

    写在前面 今天,咱抓取一个网站,这个网站呢,涉及的内容就是 网友留言和回复,特别简单,但是网站是gov的.网址为 http://www.sjz.gov.cn/col/1490066682000/ind ...

  4. 在服务器上进行深度学习的入门教程

    1.远程登录 Windows用户推荐使用Xshell 主机那里填上服务器IP,下面填一下端口号,然后点击连接,之后会让你输入用户名密码,输入之后就可以进入啦 2.GPU状态 进入之后可能大家最想关注的 ...

  5. Python爬虫入门教程12:英雄联盟皮肤图片的爬取

    前言

  6. Python爬虫入门教程15:音乐网站数据的爬取

    前言

  7. Python爬虫入门教程07:腾讯视频弹幕爬取

    前言

  8. Python爬虫入门教程14:喜马拉雅有声书音频爬取

    基本开发环境

  9. python 喜马拉雅_Python爬虫入门教程14:喜马拉雅有声书音频爬取

    基本开发环境????Python 3.6 Pycharm 相关模块的使用????import requests import os 安装Python并添加到环境变量,pip安装需要的相关模块即可. 一 ...

最新文章

  1. 斯坦福机器学习视频笔记 Week6 关于机器学习的建议 Advice for Applying Machine Learning...
  2. 移动平台对 meta 标签的定义
  3. C语言 函数递归例题解析
  4. STM32F0使用LL库实现MS5536C通讯
  5. mybatis批量更新 mysql 报错,Mybatis批量更新报错问题
  6. 机器视觉软件工程师的生活是怎样的?
  7. Oracle数据恢复顾问(Data Recovery Advisor)
  8. [含论文+源码等]S2SH+mysql水费管理系统[包运行成功]
  9. 合成器基础(三) - 减法合成器的工作原理
  10. 共阳极管的代码_共阳极数码管-共阳极数码管显示
  11. 常见定位技术有哪些?
  12. 硬件加速原理分析探索
  13. 关于搭建简易广域网私人通信程序(python)一步到位!
  14. 文旅灯光秀互动应用有什么优势
  15. unity Gpu Instance
  16. R语言计量(一):一元线性回归与多元线性回归分析
  17. Oracle收款核销了怎么撤销,21应收收款-核销取消或核销调整
  18. SEI(Supplemental Enhancement Information)
  19. 快速实现自动填写验证码的功能
  20. http 请求上传文件大小限制

热门文章

  1. 赢在简单 IBM助力新疆中小企业发展
  2. 什么是ubuntu ?
  3. 【 Vue 】暗黑模式切换
  4. 记录一下 git 一个项目推送到2个不同的仓库遇到的问题
  5. 【喜讯】PerfMa再获高瓴创投领投1.5亿A++轮融资
  6. xm-select的简单使用
  7. 机器学习提高准确率的一些思路和技巧
  8. 推荐 :你要的用户画像实践来了!
  9. 【转载】ubuntu下linux内核源码阅读工具和调试方法总结
  10. hadoop存储与分析