Maison  >  Article  >  développement back-end  >  Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

藏色散人
藏色散人avant
2021-12-20 10:42:025632parcourir

Utilisez php pour réaliser une réponse automatique aux questions dans l'atelier de classe

Adresse open source

https://github.com/WOSHIZHAZHA120/kgc_cheater

Idée générale

  • Obtenez toutes les questions et notez à la réception
  • Enregistrez les réponses en arrière-plan
  • Obtenez les réponses en arrière-plan et remplissez-les automatiquement

Principe de mise en œuvre

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)
Tout d'abord, vous pouvez constater que toutes les questions sont images, mais les URL ont une chose en commun, c'est imageType=2 code><code>imageType=2
那么直接上代码【推荐学习:《PHP视频教程》】

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

得到所有图片地址后发送到后台, 后台将收到所有图片的url地址

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

这是一部分源码, 关于这个getQuestionIdFromImageUrl待会再说
然后新建一个数据库, 我这里是建了一个名叫kgc_cheater的数据库
以及表question_answers
如下是表结构

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

以及使用Medoo/Medoo库用作数据库链接

然后写一个从数据库拿答案的逻辑

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

你们可能会好奇maps是什么, 因为前台图片地址的运算是和后台不一样的
给你们看一下getQuestionIdFromImageUrl你们也许能明白

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

因为发现每个用户的图片地址都不相同, 即使题目是一样的, 但是每个账号图片地址都不会变, 那么说明图片地址的计算是有规律的, 研究半天发现, 其实就是把relativePath参数用/分割后的把第二个部分减去指定偏移值, 待会说明如何获取
我们直接向后台请求答案, 返回maps和answers参数

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

maps的定义其实就是$url => $question_id
answers的定义是['question_id' => $question_id, 'answer' => $answer]

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

如图, 使用3个parent然后进入ul.sec2获取答案列表, 然后找到包含答案的元素并模拟点击它
这样就完成了一次自动答题

回到上面, 关于偏移值的获取, 在你登录进去的时候看你的url

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

559634 就是你的偏移值, 进入答题页面
这是图片的源地址 https://tiku.kgc.cn/testing/cdn/getImage?relativePath=0069000/1543312740097/e19f21615ab8e9866619bf47c3b5b59c.jpg&imageType=2

获取原图片id为 0069000/1543312740097
使用偏移值减去第二个参数得到1543312180463

最终得到题目id: 0069000/1543312180463Ensuite, allez directement au code [Apprentissage recommandé : "Tutoriel vidéo PHP a>》】

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)


Récupérez toutes les adresses d'image et envoyez-les au backend. Le backend recevra les adresses url de tous les images

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)🎜 🎜C'est une partie du code source, à propos de ceci getQuestionIdFromImageUrl j'en parlerai plus tard🎜Ensuite créez une nouvelle base de données, j'en ai construit une ici La base de données nommée kgc_cheater et la table Les questions_réponses🎜 sont les suivantes : structure du tableau🎜🎜Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)🎜🎜 🎜🎜 Vous pourriez être curieux cartes, car le calcul de l'adresse de l'image au premier plan est différent de celui du backend🎜Laissez-moi vous montrer getQuestionIdFromImageUrl et vous comprendrez peut-être🎜🎜Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)🎜🎜Parce qu'il s'avère que l'adresse d'image de chaque utilisateur est différente, même if La question est la même, mais l'adresse de l'image de chaque compte ne changera pas, ce qui signifie que le calcul de l'adresse de l'image est régulier. Après de longues recherches, j'ai découvert qu'il s'agissait en fait d'utiliser /<.> pour le paramètre <code>relativePath. code>Après le fractionnement, soustrayez la valeur de décalage spécifiée de la deuxième partie. Nous expliquerons comment l'obtenir plus tard. Nous demandons directement la réponse à l'arrière-plan et renvoyons la. paramètres de cartes et de réponses Utilisez PHP et Oil Monkey pour réaliser l'écriture automatique de questions. la classe🎜🎜La définition des cartes est en fait $url => $question_id🎜réponses est définie comme [ 'question_id' => $question_id, 'answer' => $answer]🎜🎜Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées) 🎜🎜 Comme indiqué sur l'image, utilisez 3 parents puis entrez ul.sec2 pour obtenir la liste de réponses, puis trouvez l'élément contenant la réponse et simulez un clic dessus🎜Cela complète une réponse automatique🎜🎜Retour à ce qui précède, à propos de l'obtention de la valeur de décalage, après vous être connecté. Regardez votre URL lorsque vous entrez🎜🎜Utilisez PHP et Oil Monkey pour mettre en œuvre la leçon L'atelier actualise automatiquement les questions🎜🎜559634 est votre compensation valeur, entrez la page de réponse🎜Il s'agit de l'adresse source de l'image https://tiku.kgc.cn/testing/cdn /getImage?relativePath=0069000/1543312740097/e19f21615ab8e9866619bf47c3b5b59c.jpg&imageType=2🎜 🎜Obtenez l'ID de l'image d'origine sous la forme 0069000/1543312740097🎜Utilisez la valeur de décalage Soustrayez le deuxième argument pour obtenir 1543312180463🎜🎜Enfin, j'ai obtenu l'ID de la question : 0069000/1543312180463 🎜D'autres comptes peuvent également obtenir le même identifiant après des expériences, et voici l'identifiant réel enregistré dans la base de données🎜🎜Lorsque j'entre dans la page principale, j'ai un script pour l'enregistrer 🎜 Enregistrez-le à l'aide de cookies 🎜 Ci-joint le code 🎜

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

Il y a une réponse correcte dans l'interface d'analyse

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

Chaque partie est enveloppée avec .sec.post.sec.post 包起来了
然后往下取 .sec2 再取 img 并获取url
可以得到图片id, 同样取relativePath但是不需要应用偏移值了, 直接存进数据库即可
同样的, 答案在 .sec3 往下 .pad10 再往下 em:eq(0)
直接这样取

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

然后发给后端丢到数据库里记录起来
并在前台发送已记录消息

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

后端记录代码

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

然后就是前后端配合, 自动记录题目, 自动答题
最后就是自动刷题
进入一张试卷后, 自动填写之后加了一段自动更新试卷的代码, 如图

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

关于fuxiAuto后面的那串数字
也许我们都不太一样, 附上科目id获取教程

首先进入

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

利用开发者工具找到开始测试按钮

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)

javascript:unitExam(1098001001)
这个1098001001Ensuite, descendez et prenez .sec2 et puis prenez img et obtenez l'url
Vous pouvez obtenir l'identifiant de l'image. Vous obtenez également le relativePath mais vous n'avez pas besoin d'appliquer la valeur de décalage, stockez-la simplement directement. dans la base de données

De même, la réponse est dans .sec3 Descendez jusqu'à .pad10 puis descendez jusqu'à em:eq(0) et obtenez-le directement comme ceci

Utilisez PHP et Oil Monkey pour réaliser une question automatique écrire dans l'atelier du cours

Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)Ensuite, envoyez-le au backend et jetez-le dans la base de données. Enregistrez-le

et envoyez le message enregistré au premier plan

Utiliser PHP et Oil Monkey Realization Class Workshop répond automatiquement aux questions🎜🎜Code d'enregistrement back-end🎜🎜Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)🎜🎜Ensuite, la coopération front-end et back-end , enregistrement automatique des questions, réponse automatique🎜Enfin, brossage automatique🎜Après avoir saisi une épreuve, après avoir rempli automatiquement, une section de mise à jour automatique de l'épreuve est ajoutée, comme indiqué sur l'image🎜🎜Utiliser PHP et Oil Monkey pour réaliser le brushing automatique dans l'atelier Question🎜🎜À propos de la chaîne de numéros après fuxiAuto🎜Peut-être que nous sommes tous différents, voici un tutoriel sur la façon d'obtenir l'ID du sujet🎜🎜Entrez d'abord🎜🎜Analyser comment PHP implémente le « brossage automatique des questions » (avec des idées)🎜🎜Utilisez les outils de développement pour trouver le bouton de démarrage des tests 🎜🎜 Utilisez PHP et Grease Monkey pour répondre automatiquement aux questions en classe🎜🎜javascript:unitExam (1098001001)🎜Ce 1098001001 est l'ID du sujet🎜Le dernier chiffre ici est de 1 à 7, j'ai donc écrit un nombre aléatoire automatique pour générer aléatoirement un entier de 1 à 7🎜🎜 La modification est également très simple🎜🎜🎜🎜🎜Changez simplement 1 et 7 dans l'image par vos valeurs minimales et maximales. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer