【Py大法系列--02】我是如何破解答题赚钱的

我要做什么:

近期最火的在风口上飞起来的项目大概就是“全民答题赚钱”了。各个直播平台巨头争相恐后的在这个战场厮杀,惨烈程度可以看下图(最近的烧钱更加惨烈):



我们这些吃瓜群众自然是开心的不行,毕竟有钱拿的事情谁都乐意参与,何况是通过自己的智力赚取财力,贼骄傲贼自豪。



然而,在天朝,有游戏的地方就有外挂,毕竟看着白花花的银子大家都眼红啊。民间程序猿大神们开始动起来自己的双手开工赚钱,有号称写了三个小时程序的Python程序猿的外挂:

更夸张的是,这次不仅民间的码农们出击,竟然都有了官方外挂,比较有代表性的是百度的简单搜索,支持语音+拍照题目搜索;搜狗则更夸张,直接在一个Webview页面上更新答案:


我是怎么做的

明确需求

正所谓,做人处事一定要有风骨,玩游戏怎么能靠外挂呢?要用外挂就得用自己的!
说干就干,首先明确下我的需求是什么,很简单,答对题目赢钱。所以我就有了两个很明确的需求,题目和答案,确定了外挂的基本框架:


乍一看框架特别简单,然而为了满足答题游戏的规则:10s中给出正确答案,再对外挂提出以下要求:

  • 结合竞品情况,题目准确率不一定要100%,但要达到60%以上;
  • 一定要快,一定要快,一定要快!重要的事情说三遍,除了10s的限制,因为答案不一定准确还要人脑做一个判断,故效率应该在7s左右;

明确了需求,话不多说开始干活。

外挂1.0

外挂形式:

思前想后,作为一个测试开发工程师,在技术深度上还欠缺火候,理了一下自己的技术栈:

  • 语言:Python Java JS
  • 平台知识储备:SQL Network
  • ... ....



    实在是有点惨不忍睹,所以我的外挂一定要简单,那就来最简单的Python吧。

获取题目:

第一个想到的就是文字识别,这也是多数外挂应用的方法。百度用了成熟的图片识别和语音识别,而搜狗搜索也用了自己的OCR识别技术。但想到自己单兵作战精力有限,不想再搞一套文字识别算法。想到上面那位花了三个小时的工程师的程序,我定睛一看,"alicloudapi",这不我司阿里云的API嘛。有现成的API不用再撸一套实在费心啊,还是用兄弟BU的产品吧,刚好遇到五折活动,下单下单(API地址)。
代码的逻辑比较暴力,adb截图,API获取到文字和位置信息,拿到json,解析出来题目:


在做了上面的微小工作之后我花了不到1s的时间获取到了题目信息,给我们阿里云的API点个赞:

搜索答案:

成功获取了题目,如何搜索到满意的答案呢? 毕竟百度和搜狗两家都是做搜索的,有着成熟的搜索技术和配置牛逼的引擎,再加上百万平方米的机房,而我,只有刚换的新的13 mbp,比不起比不起啊。那我该怎么办呢?综上考虑,机器学习来不及了,我这单机10s内跑不完,海量搜索也做不了,数据哪里来......那就用现成的技术吧:
回想了之前的项目经历,我决定拿出以前研究过的东西来,WebDriver +htmlUnit,既然是搜答案,那就直接上百度,既然原生浏览器速度太慢太耗时间,那就来虚拟的。话不多说撸了代码:



这里也挺简单,开一个selenium remote server,模拟一个虚拟的browser,然后打开百度首页,input题目,搜索,把产生的结果download下来,找到答案可能附着的element作为知识库,比较三个选项在知识库里出现的次数,次数最多的就是最终答案。

运行结果:

开挂了开挂了,模拟一次答题的经历如下:



虽然程序准确输出了答案,但是在没有截图的步骤下时间达到了6s钟,加上截图保存的时间,耗费时间实在太长。

外挂2.0

速度提升自动化优化

通过运行脚本,发现外挂1.0的弊端实在太明显:

  • 速度慢
  • 自动化程度低,截图过程时间长、需要把握时机

然后1.0受到了女神的鄙视:



为了吃到曲奇,我决定从下面两方面做优化:

  • 干掉截图的方法,截请求拿题目
  • 通过API的方式获得百度搜索方法

经过两天的试验,我到现在都没有获得下发题目的日志(以“芝士超人”为例),所以截获请求拿题目的想法暂时毙掉。想到很多人拿Python用来爬虫,原理也就是download页面数据而已。果断查询了百度请求的参数,得到下面的结果:

剩下的参数感兴趣的同学可以百度,这些已经够我用了哈哈:

key = question    # 题目
count_search = 3   # 搜索结果的页数
for i in range(1, count_search):
    urlsearch = "http://www.baidu.com.cn/s?wd=" + key.decode('utf-8') + "&cl=3&pn=" + str(i) + "0"
    # print(urlsearch)
    response_search = urllib2.urlopen(urlsearch.decode('utf-8'))
    html = response_search.read() + html

然后最后一步是从html中分析答案就好了,目前的做法就直接统计了选项出现的概率,最后的结果如下图:



从截图到给出答案的时间稳定在4s左右。终于得到了女神的夸奖哈哈:


image.png

到底能不能用呢?

到现在我的外挂也没有投入到生产中去,现在还用着百度的“简单搜索”,处在放弃的边缘。总结起来致命的缺点有以下几个:

  • 截图的时机不好把握,往往无法最快的速度截图
  • 仅仅计算答案出现的概率对付填空题类型的题干还可以,计算性选择性的题干错误率贼高

总结起来就是又慢又不准!
不过本身这个外挂也没用上什么高端的技术,也没有像公众号那位大哥花费3小时之久,能够用极其简单的成本做出来个小产品挺有成就感的。
但是我到底能不能吃上女神的法丽兹抹茶曲奇呢?还请各位大神在评论区里献言献策,一起提升我们的外挂实力啊!

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342