找回密码
 加入
搜索
查看: 2512|回复: 4

[系统综合] 请教一个驾校考试题库试题网页保存问题

  [复制链接]
发表于 2014-4-6 23:15:01 | 显示全部楼层 |阅读模式
本帖最后由 m765555 于 2014-4-6 23:20 编辑

网址是http://www.jszks.com/list/
备注:本人只是想把题库保存起来,然后打印出来学习而已,绝非用于其它恶意目的。因为在线的话,是一次随机的,而且只有十分之一的题,麻烦啊.另外也是想学习一下写这代码提升一下。
我想把所有的题,都用au3自动点击选择答案,如果选择答案错误的话,网页会提示“答错了……”,则继续选择另外的答案,如果答对了,则会提示“答对了……”,如果答对了,则自动写入一个word中(包括答案一并写入,答案写在问题下一行,和原格式一样,感觉难),并空一行,等待写入下个题,
写入word成功后,au3继续点击当前网页中的“下一题”,继续循环上面的操作,对了就写入,错了就重选择,直到题库完成。
本人尝试了一下,思路有点模糊,请各位指点一下……
发表于 2014-4-7 08:57:25 | 显示全部楼层
你这想发不错,就是不知道做好了会查水表不
发表于 2014-4-7 16:56:55 | 显示全部楼层
回复 1# m765555

我只给你方法. 不按你的要求来. 你自己下载测试.


#include <file.au3>
Global $url="http://www.jszks.com/data/question/序号.txt"
Global $questionData[5000]
ProgressOn ( "驾校题库获取器", "开始读取数据" , "0%" , 100 , 100 , 16) 
For $i=1 To 4951
        $questionData[$i]=BinaryToString(InetRead(StringReplace($url,"序号",$i),1+2),4)
        $questionData[$i]=StringRegExpReplace($questionData[$i],'{"id":\d+,"question":"',"问题:")
        $questionData[$i]=StringReplace($questionData[$i],'","answer":',"答案:")
        $questionData[$i]=StringReplace($questionData[$i],'"image"',"图片")
        $questionData[$i]=StringReplace($questionData[$i],'"type"',"类型")
        $questionData[$i]=StringReplace($questionData[$i],'"item1"','选项1')
        $questionData[$i]=StringReplace($questionData[$i],'"item2"','选项2')
        $questionData[$i]=StringReplace($questionData[$i],'"item3"','选项3')
        $questionData[$i]=StringReplace($questionData[$i],'"item4"','选项4')
        $questionData[$i]=StringReplace($questionData[$i],'"explain":"','扩展阅读:')
        $questionData[$i]=StringRegExpReplace($questionData[$i],'","explainid":\d+}','')
        $progress=Round($i/4951*100,2)
        ProgressSet( $progress, $progress & " %")
Next
$questionData[0]=$i
ProgressSet(100 , "完成", "全部完成")
_FileWriteFromArray(@ScriptDir&"\data.txt",$questionData)
ProgressOff()
MsgBox(0,"提示","全部下载完成,请打开data.txt查看")

评分

参与人数 1金钱 +10 收起 理由
骗子 + 10 真高!

查看全部评分

 楼主| 发表于 2014-4-8 21:39:55 | 显示全部楼层
今天有空再仔细看了一下,每个题的答案选项数目不一样,感觉根本无法实现目的.哎,多谢lanfengc提供思路哈,有空再研究下
发表于 2014-4-9 11:06:10 | 显示全部楼层
本帖最后由 骗子 于 2014-4-9 11:19 编辑





#include <IEEx.au3>
#include <IE.au3>

$oIE = _IEAttach("http://www.jszks.com/list/", "url")
While 1
        $text = ''
        $d = _IEGetObjById($oIE, '_radio1')
        _IEAction($d, 'click')
        Do
                Sleep(500)
                $result = _IEGetObjById($oIE, 'result')
                
        Until $result.innertext <> ''
        $Ele = _IEQuery($oIE, "DIV", 'class=s1')
        $text &= $Ele.innertext & @CRLF
        If StringInStr($result.innertext, '答对了') Then
                $text &= $result.innertext & '正确答案是 A ' & @CRLF
        Else
                $text &= $result.innertext & @CRLF
        EndIf
        $INPUT = _IEQuery($oIE, "INPUT", 'value=下一题')
        _IEAction($INPUT, 'click')
        FileWrite('tiku.txt', $text & @CRLF)
        _IELoadWait($oIE)
WEnd


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 00:18 , Processed in 0.078371 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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