這篇文章給大家分享的是有關(guān)php怎么實(shí)現(xiàn)自動刷題的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,資陽移動機(jī)房,資陽移動機(jī)房,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
前臺獲取所有題目并做好標(biāo)記
后臺記錄答案
從后臺獲取答案并自動填寫
首先可以發(fā)現(xiàn)所有題目都是圖片, 但是url都有一個共同點(diǎn), 那就是imageType=2
那么直接上代碼【推薦學(xué)習(xí):《PHP視頻教程》】
得到所有圖片地址后發(fā)送到后臺, 后臺將收到所有圖片的url地址
這是一部分源碼, 關(guān)于這個getQuestionIdFromImageUrl
待會再說
然后新建一個數(shù)據(jù)庫, 我這里是建了一個名叫kgc_cheater
的數(shù)據(jù)庫
以及表question_answers
如下是表結(jié)構(gòu)
以及使用Medoo/Medoo庫用作數(shù)據(jù)庫鏈接
然后寫一個從數(shù)據(jù)庫拿答案的邏輯
你們可能會好奇maps
是什么, 因?yàn)榍芭_圖片地址的運(yùn)算是和后臺不一樣的
給你們看一下getQuestionIdFromImageUrl
你們也許能明白
因?yàn)榘l(fā)現(xiàn)每個用戶的圖片地址都不相同, 即使題目是一樣的, 但是每個賬號圖片地址都不會變, 那么說明圖片地址的計(jì)算是有規(guī)律的, 研究半天發(fā)現(xiàn), 其實(shí)就是把relativePath
參數(shù)用/
分割后的把第二個部分減去指定偏移值, 待會說明如何獲取
我們直接向后臺請求答案, 返回maps和answers參數(shù)
maps
的定義其實(shí)就是$url => $question_id
answers
的定義是['question_id' => $question_id, 'answer' => $answer]
如圖, 使用3個parent然后進(jìn)入ul.sec2獲取答案列表, 然后找到包含答案的元素并模擬點(diǎn)擊它
這樣就完成了一次自動答題
回到上面, 關(guān)于偏移值的獲取, 在你登錄進(jìn)去的時候看你的url
559634
就是你的偏移值, 進(jìn)入答題頁面
這是圖片的源地址 https://tiku.kgc.cn/testing/cdn/getImage?relativePath=0069000/1543312740097/e19f21615ab8e9866619bf47c3b5b59c.jpg&imageType=2
獲取原圖片id為 0069000/1543312740097
使用偏移值減去第二個參數(shù)得到1543312180463
最終得到題目id: 0069000/1543312180463
其他賬號經(jīng)實(shí)驗(yàn)也能得到相同id, 然后這是存到數(shù)據(jù)庫里的實(shí)際id
在進(jìn)入主頁面的時候我有一個腳本記錄這個
使用cookies保存
附上代碼
在解析界面有正確答案
每個部分都用 .sec.post
包起來了
然后往下取 .sec2
再取 img
并獲取url
可以得到圖片id, 同樣取relativePath
但是不需要應(yīng)用偏移值了, 直接存進(jìn)數(shù)據(jù)庫即可
同樣的, 答案在 .sec3
往下 .pad10
再往下 em:eq(0)
里
直接這樣取
然后發(fā)給后端丟到數(shù)據(jù)庫里記錄起來
并在前臺發(fā)送已記錄消息
后端記錄代碼
然后就是前后端配合, 自動記錄題目, 自動答題
最后就是自動刷題
進(jìn)入一張?jiān)嚲砗? 自動填寫之后加了一段自動更新試卷的代碼, 如圖
關(guān)于fuxiAuto
后面的那串?dāng)?shù)字
首先進(jìn)入
利用開發(fā)者工具找到開始測試按鈕
javascript:unitExam(1098001001
)
這個1098001001
就是科目id
我這里最后一位數(shù)字是1到7所以寫了個自動隨機(jī)數(shù)隨機(jī)生成1到7的整數(shù)
修改也很簡單
感謝各位的閱讀!關(guān)于“php怎么實(shí)現(xiàn)自動刷題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!