如何从vbscript中的供应商网站提取数据?

时间:2010-01-14 20:36:37

标签: html parsing vbscript hta

我编写了一个后映像HTA,它是在XP映像加载到计算机后启动的。 HTA从用户收集信息(即主要用户名,部门等)并在自定义密钥下更新注册表。管理层已询问我是否可以从供应商的网站(在本例中为Lenovo)提取计算机的保修信息(特别是保修结束日期),并使用此信息更新注册表。 Lenovo允许使用计算机类型和序列号进行匿名查找,并返回显示保修信息的页面。有没有办法使用vbscript(或者可能是javascript?)来解析返回的页面以查找我正在寻找的数据?

提前致谢, 吉尔

2 个答案:

答案 0 :(得分:2)

使用HTML解析器可能是一种更健壮的方法,但通过OLE自动化只需script Internet Explorer即可轻松使用VBScript。

Dim ie, frm

Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate "http://www-307.ibm.com/pc/support/site.wss/" & _
    "document.do?lndocid=LOOK-WARNTY#sw"
Do Until ie.ReadyState = 4 '' READYSTATE_COMPLETE
    WScript.Sleep 100
Loop

Set frm = ie.Document.Forms.warrantyLookup
frm.type.Value = "2644"
frm.serial.Value = "23AB123"
frm.Submit

Do Until ie.Document.ReadyState = "complete"
    WScript.Sleep 100
Loop

'' Locate the information you want to scrape from the
'' ie.Document DOM at this point

ie.Quit

答案 1 :(得分:0)

您可以轻松地抓取返回的页面,它真正需要的是一个HTML解析器,然后知道您想要的信息在返回的页面中的位置。我不知道任何VBScript HTML解析器,但我相信它们存在。但是,如果你找不到一个,你可以从本地运行的代码调用外部程序,这样你就可以用任意数量的语言编写一个页面抓取工具(或者使用某种grep实用程序),这可能就是你做的了正在寻找。