Owen的酒楼

--酒楼上渡过的人生--
生命太短,人生太长,但愿别喝醉了。

导航

webload 正则表达式做关联 ZT

Posted on 2007-11-13 11:03  Hicome  阅读(295)  评论(0编辑  收藏  举报

利用正则表达式做关联:

一 怎样关联

1)  在请求生成关联数据页面之前,声明保存页面数据。

Code:

wlHttp.SaveSource = "Yes"
wlHttp.Get("the page you need to parse")

2)  编写需要搜索数据的正则表达式。

Code:

pattern = /your text to search for/

3)  利用"match"方法执行正则表达式

Code:

myMatch = document.wlSource.match(pattern)

4)  将匹配成功的值替换到相应的地方

Code:

wlHttp.FormData["sessionID"] = myMatch[1]

二 应用举例

1)录制以下网站登录脚本:

http://www.netizenbanking.com/myAccount.asp

2)录制部分脚本如下:


/***** WLIDE - URL : http://www.netizenbanking.com/myAccount.asp - ID:2 *****/
wlGlobals.GetFrames = false  

wlHttp.Get("http://www.netizenbanking.com/myAccount.asp")  

/***** WLIDE - Sleep - ID:3 *****/
Sleep(10)

/***** WLIDE - URL : http://www.netizenbanking.com/myAccountLogin.asp?netizenSID=31321359084 - ID:4 *****/
wlHttp.Header["Referer"] = "http://www.netizenbanking.com/myAccount.asp"
wlHttp.FormData["netizenSID"] = "31321359084"  
wlHttp.Get("http://www.netizenbanking.com/myAccountLogin.asp")

3)本地生成动态数据页面源文件相关代码:

<a href="myAccountLogin.asp?netizenSID=31319744620">Click

4)做关联后脚本:


/***** WLIDE - URL : http://www.netizenbanking.com/myAccount.asp - ID:2 *****/
wlGlobals.GetFrames = false
wlHttp.SaveSource = "Yes"

wlHttp.Get("http://www.netizenbanking.com/myAccount.asp")

pattern = /netizenSID=(.*)">Click/
myMatch = document.wlSource.match(pattern)
InfoMessage("The session ID is " + myMatch[1])


/***** WLIDE - Sleep - ID:3 *****/
Sleep(10)

/***** WLIDE - URL : http://www.netizenbanking.com/myAccountLogin.asp?netizenSID=31321359084 - ID:4 *****/
wlHttp.Header["Referer"] = "http://www.netizenbanking.com/myAccount.asp"
//wlHttp.FormData["netizenSID"] = "31321359084"
wlHttp.FormData["netizenSID"] = myMatch[1]
wlHttp.Get("http://www.netizenbanking.com/myAccountLogin.asp")