用代码向90后逝去的青春致敬

阅读文本需要4分钟

前段时间,腾讯宣布停止乐斗Ⅱ和QQ宠物的运营,然后就订阅号里就被各种回忆杀的推文刷屏了。今天也来称蹭一下"热点",虽然有点晚。

都说“陪伴是最长情的告白”,那些陪我们走过年少时光的小游戏,你还记得多少?

可能很多90后都玩过乐斗Ⅱ。但是很遗憾,今天的主角不是它,而是它的兄弟——“Q宠大乐斗”。今天分享的是:如何使用前几天分享的selenium的奇技淫巧,让“Q宠大乐斗”自动运行,自动打游戏。

具体步骤

第一步:分析链接,因为直接使用网页动画版(也就是上图)的网址的话,会有Flash动画,可能会因为网络的问题,导致延迟,从而影响程序的运行。所以选择直接关注微信公众号“Q宠大乐斗”,从开始游戏的接口进去,这样就可以进入文字版的游戏,减少不必要的网速占用。

第二步:通过审查元素找到相应的元素,使用selenium进行定位控制

第三步:设置定时任务,让游戏脚本每天定时运行,游戏自动化,实现躺赢的最终理想,哈哈

注意事项

  1. 因为等级原因,有一些功能可能对低等级不开放,所以这个游戏需要“私人订制”
  2. 有一些奖励是需要等到了一定的活跃度才可以完领取,所以需要一定的游戏策略,否则就需要在程序中进行多次判断

代码书写

因为这个游戏的任务有点多,所以分模块来写比较好,这样逻辑不会乱,代码的可读性也更强一点

登录模块:

通过上图可以找出登录的元素位置,直接使用selenium进行登录操作。

上面代码中的第14行是设置等待。直白一点就是:如果 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常

(自动登录哦 :-)

其他模块

之前说过,等级不同,任务也不同。所以我这里就放上几个共同的模块。具体的任务看下图

每日奖励模块:
乐斗好友模块:

其他的模块我这里就不放代码了,毕竟等级不一样,代码可能没有通用性。而且主要的方法就是定位元素,前篇推文已经详细介绍了,主要是设置等待时长和注意异常情况的判断处理就可以了。

计划任务

具体的计划任务教程,参考:Python与win的完美结合--计划任务。设置好时间,因为这个游戏的宠物是靠体力来进行的并且每天只能进行一次任务,所以每天定时打一次就可以了。

最后

今天这个自动打游戏的demo,只是单纯的练习一下selenium操作;当然也顺便回忆一下90后的生活,相信有一部分90后小时候还是会玩过这个游戏的。

可能有人就觉得这游戏有点low(确实有点low),那我只能昧着良心回一句:哥玩的不是游戏,是情怀,懂不懂

pps:原创不易,请多多转发支持,薛薛

原文发布于微信公众号 - Python爬虫与数据挖掘(crawler_python)

原文发表时间:2018-07-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

运维平台元数据稽核小结

数据库运维中的元数据建设都是重中之重,如果元数据不具有参考的价值,那么后续的操作都会受到影响,但是元数据的建设也应该是分成几个步子来走,首先得能够收集到元数...

15040
来自专栏Python爬虫与算法进阶

爬虫学到什么程度可以去找工作

随便看看知乎上的教程就可以入门了,就Python而言,会requests当然是不够的,还需要了解scrapy和pyspider这两个框架,scrapy_redi...

25500
来自专栏大数据文摘

解密千万密码:透过密码看人性

19520
来自专栏七夜安全博客

python基础教程第一课

17050
来自专栏刘望舒

Android面试题,了解一下?

22910
来自专栏帘卷西风的专栏

开源CEGUI编辑器之二(MFC重写的ImagesetEditor)

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)

10610
来自专栏牛客网

百度 提前批C++ 一面 二面 三面

【每日一语】当你厌恶你身边的人,你表达厌恶最好的方式不是和他们争吵,而是自己勤快点儿,加把劲离开他们。那样,他们就永远从你的生活中消失,和死了差不多。

24830
来自专栏Golang语言社区

一个调度系统的开发与性能优化

背景:随着Go的不断发展,流行度越来越高,业界对Go的认可度也越来越高,所以很多团队或者公司在遇到性能问题时都会尝试使用Go来重构系统,尤其是云计算领域,大家期...

19910
来自专栏FreeBuf

解密千万密码:透过密码看人性

对于密码,我们已经知道了不少。比如,多数密码短小、简单、且容易破解。但我们对一个人选择某个密码的心理原因却所知甚少。在本文中,我们分析了包括企业CEO、科学家...

18860
来自专栏嵌入式程序猿

嵌入式系统开发过程中的常见问题和解决方法

1. Bootloader如何写入Flash ? 初学者一般都会遇到如何将程序写入处理器的问题。对于不同的处理器,可以采用不同的方法。例如Intel的Xscal...

36270

扫码关注云+社区

领取腾讯云代金券