二分类数据集 MyBatis resultMap Vue全家桶 智慧树 stack lua autocomplete db2 vue中文 vue入门 河南普通话考试报名 nginx视频教程 db2从入门到精通 kafka学习 office配置进度 mysql函数返回结果集 mysqlinsert python的数据类型 简单python脚本实例 java语言基础教程 java初学者 java环境变量配置 javaworld java开发入门 java的instanceof java连接mysql的jar包 java怎么编程 java开发语言 python网站开发实例 键盘宏软件 js闭包的理解 java疯狂讲义 msdev 电脑手机模拟器 js跳出for循环 淘宝图片下载 完美漂移辅助 cdr字体变形 vs2017密钥
当前位置: 首页 > 学习教程  > 编程语言

爬虫实战|欢迎来到王者荣耀!

2020/7/24 11:18:23 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

爬虫是一门有趣的技术,它可以让我们感受到程序的魅力,给我们带来视觉冲击感和成就感,可以极大地提高我们对编程的学习兴趣。

——————————————————————————————————————

愿你我,都能:

遵循君子协议

合理使用技术

提高学习兴趣

 

今天咱们来玩一把王者荣耀。首先咱们打开王者荣耀官网:

王者荣耀​pvp.qq.com

进去之后可以看到里面有许多英雄高清皮肤壁纸

于是我就想把这些英雄皮肤的壁纸统统给扒拉到本地。首先咱们如下找到所有的英雄,再找到他们对应的皮肤

找一个我的拿手英雄--达摩

可以看到达摩有四个皮肤,我的想法就是把达摩所有的皮肤都下载到本地。

首先咱们F12找到皮肤所在的位置:

达摩有四个皮肤,所以这个链接的后缀1234分别代表四个不同的皮肤。

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-1.jpg

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-2.jpg

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-3.jpg

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-4.jpg

所以咱们就可以得出结论,同一英雄皮肤位置只有后面的序号不同。如果你输入5,那就是不存在的,所以它就会报404找不到的错误!

接下来咱们再分析一下不同英雄之间是如何区分的

达摩和二师兄的地址如下:

https://pvp.qq.com/web201605/herodetail/134.shtml

https://pvp.qq.com/web201605/herodetail/511.shtml

观察一下有什么规律?

除了后面的数字不同在都是一样的吧~所以我们猜测一下,英雄之间是不是就是由后面那个数字控制的?

我们如下界面打开F12观察一下网络请求。

我们点击查看一下这些英雄信息

可以很清晰地看到每个英雄对应的编号,名字和皮肤。为了保险起见,咱们可以验证一下,例如109是妲己,它有7个皮肤。所以它的请求地址应该就是

https://pvp.qq.com/web201605/herodetail/109.shtml

怎么样,没错吧!

好了到此为止,我们准备工作已经完成一大半了,接下来就剩下编码了

代码实现

按照之前的分析,我们首先要得到各个英雄对应的编号,所以首先需要分析herolist.json文件

可以看到已经打印出我们所需的英雄信息了,但是我们需要的没有这么复杂。英雄壁纸我们需要英雄编号和姓名就够了。

已经成功的提取出我们想要的信息了,接下来我们再看看之前的壁纸链接

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/134/134-bigskin-1.jpg

替换我们需要修改的参数即可

http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + hero_No + '/' + hero_No + '-bigskin-1.jpg

刚才咱们已经研究过了,皮肤壁纸的不同之处在于最后面的编号,他有多少皮肤编号就到多少。但是最大皮肤不超过10个,至少目前是这样。所以我们给他设置一个最大为10的循环来获取它的皮肤

好了看看我们下载的图片是否满意

好了到此为止代码已经完成。功能虽已实现。但是需要改进的地方还有很多,后续我们继续对代码进行完善。

需要学习的同学可以私我哦!


本文链接: http://www.dtmao.cc/news_show_50380.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?