找回密码
 加入
搜索
查看: 2715|回复: 5

有关:网页提取链接、定时执行操作的问题求助

[复制链接]
发表于 2009-3-12 12:44:39 | 显示全部楼层 |阅读模式
测试链接如下:
测试链接(如有乱码,请修改一下页面编码为“简体中文”)


我想实现:
从此页面中提取开始时间,然后定时,时间到了,就单击下面对应的链接

下面是代码,可能有许多需要修改的地方,麻烦帮忙看看




;#NoTrayIcon

#include <IE.au3>
#include <INet.au3>
#include <Date.au3>



Global $oIE
Global $starttime,$TimeNum,$getmoneylink
Dim $aStartTime,$aRedEnvelpeLinks


$url = "http://liuxingworld.com/wp-content/uploads/2009/test.html"

$oIE = _IECreate($url, "url", 1)


_IELoadWait($oIE) 


$surl = _IEPropertyGet($oIE, "locationurl")
ConsoleWrite($surl & @CR)
;$sHTML = _IEBodyReadHTML ($oIE)
$sHTML = _INetGetSource($surl)

; get the start time

$aStartTime = StringRegExp($sHTML, "<li>开始时间 (.*?)</li>", 3)
$aRedEnvelpeLinks = StringRegExp($sHTML, '<li><b> <a href="(.*?)"><font', 3)
$TimeNum = UBound($aStartTime) - 1
ConsoleWrite($TimeNum & @CRLF)

For $i = 0 To UBound($aStartTime) - 1
        Dim $starttime                ; 开始时间
        Dim $link                        ; 链接URL
        $starttime = $aStartTime[$i]
        $link = $aRedEnvelpeLinks[$i]
        ConsoleWrite($starttime & @CRLF)
        ConsoleWrite($link & @CRLF)
        
Next

; #################################
; 就是这里不明白
; 该放在哪里,怎么做?

;AdlibEnable("checktime")
;While 1

;WEnd

; #################################

Sleep(2000) ;pause 2 seconds
_IEQuit($oIE)

Func checktime()
        Local $hour, $min, $sec, $timediff

        $timediff = _DateDiff('s', _NowCalc(), $starttime)
        ConsoleWrite($starttime & @CRLF)
        ;如果时间差<=30秒,则执行
        If $timediff <= 30 Then
                AdlibDisable()
                _IEAction($link, "click")
                ConsoleWrite($link & "--" & @error & @CRLF)
        EndIf        
EndFunc   ;==>checktime
发表于 2009-3-12 13:25:17 | 显示全部楼层
有简便方法为什么不用了
在命令提示符中用AT命令,安排计划时间运行即可!
 楼主| 发表于 2009-3-12 14:12:28 | 显示全部楼层
首先谢谢bob的回复。
原帖由 bob 于 2009-3-12 13:25 发表
有简便方法为什么不用了
在命令提示符中用AT命令,安排计划时间运行即可!


那我用windows的计划任务,应该也可以吧。

可是问题不在这里,我要从网页获取时间,然后再定时
如果页面上就一个时间,那我可以实现
可是如果有多个页面且每一个页面上有多个时间,我就不知道如何实现了
发表于 2009-3-12 14:46:37 | 显示全部楼层
做任务计划和AT都要有用户名和密码的限制。
如果有管理员权限可以用WMI的任务计划对象创建System的任务计划。这样就可以实现无论谁登陆这台机器都可以可视化的开始这个任务。
发表于 2009-3-12 14:51:50 | 显示全部楼层
用正则获取时间,写到任务计划中
 楼主| 发表于 2009-3-12 16:14:35 | 显示全部楼层
原帖由 bob 于 2009-3-12 14:51 发表
用正则获取时间,写到任务计划中


谢谢两位
时间我已经获取到了,就是如何写到任务计划中,不清楚,谢谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 02:19 , Processed in 0.080713 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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