2010-01-14 5 views
0

XP 이미지가 컴퓨터에로드 된 후 시작되는 게시 이미지 HTA를 프로그래밍했습니다. HTA는 사용자 (예 : 기본 사용자 이름, 부서 등)로부터 정보를 수집하고 사용자 정의 키 아래에서 레지스트리를 업데이트합니다. 관리자는 공급 업체의 웹 사이트 (이 경우 Lenovo)에서 컴퓨터의 보증 정보 (특히 보증 만료 날짜)를 가져와이 정보로 레지스트리를 업데이트 할 수 있는지 여부를 묻습니다. Lenovo는 컴퓨터 유형 및 일련 번호를 사용하여 익명 검색을 허용하고 보증 정보가 표시된 페이지를 반환합니다. vbscript (또는 자바 스크립트?)를 사용하여 내가 찾고있는 데이터에 대해 반환 된 페이지를 구문 분석하는 방법이 있습니까? 사전에VBScript에서 공급 업체 웹 사이트의 데이터를 어떻게 추출합니까?

감사합니다, 길

답변

0

당신은 비교적 쉽게 반환되는 페이지를 긁어 수는, 정말가는 모두는 당신이 원하는 정보가 반환 된 페이지 내에서의 위치를 ​​알고있는 HTML 파서합니다. 나는 VBScript HTML 파서를 모른다. 그러나 나는 그것이 존재한다고 확신한다. 그러나 하나도 찾을 수 없으면 로컬로 실행되는 코드에서 외부 프로그램을 호출 할 수 있으므로 어떤 언어로든 페이지 스크래핑 유틸리티를 작성하거나 (일종의 grep 유틸리티를 사용하여) 사용자가 수행 할 수 있습니다. 를 찾고 있습니다.

2

HTML 파서를 사용하는 것이 더 강력한 방법 일 수 있지만 VBScript를 사용하면 OLE 자동화를 통해 script Internet Explorer으로 쉽게 처리 할 수 ​​있습니다.

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 
관련 문제