小程序模板網(wǎng)

頭腦王者輔助工具

發(fā)布時(shí)間:2018-01-24 11:03 所屬欄目:小程序開發(fā)教程

起步最近直播答題火熱,群里也經(jīng)常看到比拼微信小程序《頭腦王者》。我比較笨,憑純答題只到了黑金段位。鑒于本周剛剛點(diǎn)亮了收集抓包的技能,于是想試著通過(guò)這個(gè)來(lái)做一個(gè)輔助工具。抓包我使用的是fiddler抓的,網(wǎng)上 ...

 
 
 

起步

最近直播答題火熱,群里也經(jīng)??吹奖绕次⑿判〕绦颉额^腦王者》。我比較笨,憑純答題只到了黑金段位。鑒于本周剛剛點(diǎn)亮了收集抓包的技能,于是想試著通過(guò)這個(gè)來(lái)做一個(gè)輔助工具。

抓包

我使用的是 fiddler 抓的,網(wǎng)上關(guān)于抓app包的教程很多,可自行查閱,這里不贅述。根據(jù)抓包發(fā)現(xiàn)出題目的接口:

數(shù)據(jù)格式是一個(gè) json 字符串,如下所示:

{"data":{"quiz":"我國(guó)的根本大法指的是?","options":["刑事訴訟法","刑法","婚姻法","憲法"],"num":3,"school":"理科","type":"地理","typeID":9,"contributor":"孫悅悅","partner":0,"endTime":1516447448,"curTime":1516447433,"myBuff":{}},"errcode":0}

解決了題目的獲取,接下來(lái)就是想辦法把題目傳遞到其他程序,利用 FiddlerScript 就可以了:

點(diǎn)擊 FiddlerScript 然后選擇 OnbeforeResponse 進(jìn)入該函數(shù)內(nèi),寫下如下代碼:

這部分就是將題目發(fā)到自己寫的一個(gè)程序上:

if (oSession.fullUrl.Contains("question.hortor.net/question/bat/findQuiz"))
{
    //把內(nèi)容通過(guò)ajax http發(fā)送其它地方
    var _xhr = new ActiveXObject('Microsoft.XMLHTTP');
    var url = 'http://localhost:8000/api/brain_king/';

    //不需要返回值所以設(shè)置為空回調(diào)
    _xhr.onreadystatechange = function() {}
    _xhr.open('POST', url, true);
    _xhr.setRequestHeader("Content-Type", "application/json");
    _xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    _xhr.send(oSession.GetResponseBodyAsString());
}

解答問(wèn)題

得到問(wèn)題后如何答題就見仁見智了,最簡(jiǎn)單的一個(gè)方式就是把問(wèn)題提交到百度上,進(jìn)行詞頻統(tǒng)計(jì),大多數(shù)情況下詞頻多的為正確答案,于是我及其簡(jiǎn)單的做了處理:

class BrainKing(generics.GenericAPIView):
    def post(self, request):
        question_dict = request.data.get("data")
        question_text = question_dict["quiz"]
        choices = question_dict["options"]
        content = session.get('http://www.baidu.com/s?wd=' + question_text, timeout=2).text
        for choice in choices:
            print(choice + " : " + content.count(choice))
        return Response("")

成果展示

用這個(gè)上分確實(shí)很快,不過(guò)缺點(diǎn)也是比較明顯的,帶一些干擾詞就不行了,但總體上王者還是比較輕松的:

我有個(gè)朋友真的靠純答題上的王者,令人敬佩。最后提醒一下,游戲而已,不要為了攀比傷了和氣



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉(cāng)庫(kù):starfork
本文地址:http://22321a.com/wxmini/doc/course/19626.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢