吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15809|回复: 47
收起左侧

[其他原创] 【原创】山东灯塔党建自动答题程序编写指南

  [复制链接]
firef0x 发表于 2018-1-25 00:45 来自手机
本帖最后由 firef0x 于 2018-1-25 08:21 编辑

成品软件在此
https://www.52pojie.cn/thread-688246-1-1.html

对不起了各位,lz这段时间做了个小手术,现在刚能勉强用两个手使用手机打字,电脑是不要想了,护士MM不让用,所以沉默了好几天。
有让我公开源码的,但是源码在单位电脑上也拿不到,病假还有小半个月才回去,而且也答应某人做个教程的,只能言简意赅的说下思路。

【以下为给大众的声明】
首先程序原理是通过外挂的方式操作浏览器的HTML DOM对象,用的是nodes的.click方法,目前后端暂时无法区分这个.click是手动还是自动操作,而且我还专门把login和post留给你们自己提交,所以被封号的请找自身原因。

【以下为简单的指南性质的教程】
程序通过IE浏览器的类生成HTML DOM对象,大概有两种方法,一是取得IEFrame类hwnd,从而得到webbrowser对象,再从webbrowser.document得到HTML DOM接口指针;二是逐层取得ieframe的子类hwnd到
Internet Explorer_Server类,用其hwnd注册一个HTML DOM接口指针,我用的第二种。
这两种方法都必须注意只需要取得接口指针即可,不要实例化新对象。
以上一是用的EnumWindows API,二是用的FindWindows/EX API,示例代码多得很请自行度娘。
有了HTML DOM,就好办了,分析答题页面的代码(这个我用的chrome,比ie好用),找到其规律编写相应代码即可。
(关于HTML DOM模型请自行度娘,手机打字不便请见谅,一定要弄懂模型结构和nodes的意思。这个教程不错:http://www.w3school.com.cn/htmldom/index.asp)

啊啊啊啊啊,刚刚写了一大段浏览器一滑动就没有了,恢复回来的只到这。。。。我要疯!!!!

在本例中,既然是自动查找比对,那么就得知道网页上的字,其中题目用来查找,选项用来比对,这页面一次性讲题目载入完毕了的,给我们提供了不少便利。这些题目和答案就是某些nodes对象的innertext属性。

要获得nodes对象可以通过三种方法:tagname(getElementsByTagName),classname(getElementsByClassName)和id(getElementByID)。要注意tag和class返回的都是nodes对象集,可以用对应方法的.count查看数量,在方法语句末尾加(index)表示具体某序号的对象,id返回的是单一nodes对象。
在本例中使用tagname(li)或classname(具体名称忘了,在每个题目的td还是span里面,手机不好查,自己找找吧class=“xxxx”)可以返回所有的题目和选项nodes,我用的classname,返回结果中只有题目和答案,用tag li会有很多别的nodes。
声明HTML DOM对象htmldoc并赋值为ie的iHMTLDocument的指针

htmlNodes=htmldoc.body.getElementsByClassName(“不记得了你们自己看看”)
返回题目和选项5个一组,共20组
用for i = 0 to 19(共20个数)
或者是
for htmlNodes in each htmldoc.body.getElementsByClassName来逐个取得页面内容
利用nodes集的index mod 5 =0确定该nodes是题目还是选项
题目的文本strTitle=htmlNodes.innertext
选项的文本因为nodes结构需要处理,我记得是找父节点的最后(最前?)子节点,不然nodes type不是checkbox或者option就没有click事件,Answer=htmlNodes.parentNode.lastChild.innertext,
,然后这里就可以将题目文本去除空格在数据库中寻找了,
我用的mdb引擎,支持sql语句,简单好用。
“select * from test where question='”+strTitle+"'"
Fields(6)为答案,从fields(2-5)中取出答案文本(组)与answer逐个比对,对上了就htmlNodes.parentNode.lastChild.click
然后,程序跑完就答完。
所以,根据这个原理做的外挂是不会被封号的哈,大家看着时间手动提交就行。
渣教程,对于不会编程的来说简直无法阅读,水平有限,请见谅。

以上。

PS:论坛好像有规矩必须上图,我这在医院用手机打的简单文字版指南也没法上图啊,就这点点字还打了我接近三个小时。。。。来张某医疗器械的照片吧,做过手术的应该知道这是啥玩意。。。大家看我这么不容易这么敬业鼓励一下可好。。
mmexport1516812266148.jpg

免费评分

参与人数 37吾爱币 +39 热心值 +37 收起 理由
mei564335 + 1 谢谢@Thanks!
mysai + 1 + 1 辛苦了
sinmoli + 1 + 1 谢谢@Thanks!
baiyv + 1 + 1 我很赞同!
逆光行走 + 2 + 2 谢谢@Thanks!
kingcloud + 2 + 1 用心讨论,共获提升!
新手上路爱嗨哟 + 1 + 1 谢谢@Thanks!
kk6065 + 1 + 1 谢谢@Thanks!
dabingge + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
changjiang + 1 + 1 热心回复!
long6298 + 1 + 1 休养生息,我们等你!
萌小凯凯 + 1 + 1 热心回复!
星月骑士 + 1 + 1 谢谢@Thanks!
dfg231aa + 1 + 1 谢谢@Thanks!
13370978930 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
worldcup + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
linzi + 1 + 1 谢谢@Thanks!
xtuuqtbl + 1 + 1 感谢,辛苦,我谨代表山东的答题党员谢谢你,你说的那是镇痛泵吗?好像没这.
专修火箭卫星 + 1 + 1 给这手加分
wu844744080 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
bluetime + 1 + 1 祝哥们早日康复。。好人一生平安。。非常感谢。。。
shenhua000 + 1 + 1 早日康复
法兰西大公爵 + 1 + 1 谢谢@Thanks!
郭嘉的不要抢 + 1 + 1 楼主辛苦~~~~~
WYWZ + 2 + 1 好人一生平安,养好病哥请你大宝剑
malno + 1 + 1 谢谢@Thanks!
石斑VS龙虾 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ac9601 + 1 + 1 我很赞同!
vaysalee + 1 + 1 我很赞同!
我是坏人 + 1 这是止疼的嘛?疼了就按一下?
yhw231 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
iteamo + 1 + 1 热心回复!
叫我red + 1 + 1 看不懂,就是来给大神表示感谢的
shadan + 1 + 1 用心讨论,共获提升!
Focus丶孒涵 + 1 + 1 我很赞同!
瓜子吧3 + 2 + 1 好好休养,身体才是最重要的,
lonehsigle + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| firef0x 发表于 2018-3-8 14:57
xiaomayi2012 发表于 2018-2-27 11:18
求教楼主用python如何搞 给点思路 ,是用selenium 模拟点击吗?谢谢

是的,用selenium+webdriver
配置好webdriver插件,
web=webdriver.xx(IE,Chrome,Firefox)
web.get("http://xxjs.dtdjzx.gov.cn/")
根据需要编写自动登录过程脚本或者手动进入到答题页面,并根据文档DOM结构def对应的自动操作脚本并调用即可。
GetNodes= driver.find_elements_by_class_name("w_fz18")
判断GetNodes.text,是题干就查答案,是答案就对比
然后GetNodes.click
说起来简单做起来稍复杂,个人觉得不如VB方便。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
baiyv + 1 + 1 热心回复!

查看全部评分

 楼主| firef0x 发表于 2018-1-25 08:18
psp7456 发表于 2018-1-25 07:38
数据库完全没必要用,直接用json搞定。

你可能不知道事情的来龙去脉,程序是用vb写的,无论拆json或者挂库都不如mdb来得方便
具体情况要具体分析呀,最开始想用python做的,后来觉得做这种小程序vb也有很大的优势,所有代码不到150行我记得
龙哥哥 发表于 2018-1-25 00:53
感谢楼主带病分享,祝楼主早日康复,为大家带来更多更好的分享!
理想呦 发表于 2018-1-25 01:10
谢谢楼主的分享,祝楼主早日康复!
b19341 发表于 2018-1-25 01:13 来自手机
祝楼主早日康复!
waiwaiwq 发表于 2018-1-25 01:48
表示所有党员围在一起答题,每个人报问题,有个人负责找答案~~~很壮观
zoxoco 发表于 2018-1-25 02:01
谢谢分享
vickydd 发表于 2018-1-25 02:03 来自手机
楼主好人,早日康复
shadan 发表于 2018-1-25 06:40
第一时间来学习了,教程对我来说难度还有点大,还要从基础学起啊,感谢楼主带病指导,早日康复。
先收藏了。
psp7456 发表于 2018-1-25 07:38 来自手机
数据库完全没必要用,直接用json搞定。
hhhdhzm 发表于 2018-1-25 08:05
楼主分享精神可嘉!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 00:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表