這篇“小程序中頭腦王者輔助工具如何開發”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“小程序中頭腦王者輔助工具如何開發”文章吧。
我使用的是fiddler
抓的,網上關于抓app包的教程很多,可自行查閱,這里不贅述。根據抓包發現出題目的接口:
數據格式是一個 json 字符串,如下所示:
{"data":{"quiz":"我國的根本大法指的是?","options":["刑事訴訟法","刑法","婚姻法","憲法"],"num":3,"school":"理科","type":"地理","typeID":9,"contributor":"孫悅悅","partner":0,"endTime":1516447448,"curTime":1516447433,"myBuff":{}},"errcode":0}
解決了題目的獲取,接下來就是想辦法把題目傳遞到其他程序,利用FiddlerScript
就可以了:
點擊FiddlerScript
然后選擇OnbeforeResponse
進入該函數內,寫下如下代碼:
這部分就是將題目發到自己寫的一個程序上:
if (oSession.fullUrl.Contains("question.hortor.net/question/bat/findQuiz")) { //把內容通過ajax http發送其它地方 var _xhr = new ActiveXObject('Microsoft.XMLHTTP'); var url = 'https://localhost:8000/api/brain_king/'; //不需要返回值所以設置為空回調 _xhr.onreadystatechange = function() {} _xhr.open('POST', url, true); _xhr.setRequestHeader("Content-Type", "application/json"); _xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); _xhr.send(oSession.GetResponseBodyAsString()); }
得到問題后如何答題就見仁見智了,最簡單的一個方式就是把問題提交到百度上,進行詞頻統計,大多數情況下詞頻多的為正確答案,于是我及其簡單的做了處理:
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('https://www.baidu.com/s?wd=' + question_text, timeout=2).text for choice in choices: print(choice + " : " + content.count(choice)) return Response("")
以上就是關于“小程序中頭腦王者輔助工具如何開發”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。