본문 바로가기
programming language/Autohotkey

Autohotkey Com Object HTMLFile 을 사용한 링크 가져오기

by 남성 2014. 4. 27.

Autohotkey 를 사용하면서 Com Object를 사용하면 좀더 많은 작업들을 할 수 가 있습니다.

 

아래 포스팅에서 소개 드렸던 Word, Excel 자동화부터~ ScriptControl 등등 정말 많은 일들을 할 수 있더군요. 

 


2014/03/23 - [programming language/Autohotkey] - Autohotkey ScriptControl 을 이용하여 VBScript, JScript실행하기


2012/08/16 - [programming language/Autohotkey] - Autohotkey_L을 이용한 MS Word 자동화



좀더 자세한 소개는 아래 주소에서 확인해 보시기 바랍니다.

 

http://www.autohotkey.com/board/topic/56987-com-object-reference-autohotkey-v11/

 

오늘은 간단하게 HTMLfile Com Object를 사용하여 www.google.com 의 링크를 저장하는 예를 소개해 보려 합니다.

 

코드는 아래 주소의 HTMLfile 소개 코드를 사용했습니다.


 

http://www.autohotkey.com/board/topic/56987-com-object-reference-autohotkey-v11/#entry358974

 

; download the webpage source

URLDownloadToFile, http://www.google.com, Google_HTML

FileRead, html, Google_HTML

FileDelete, Google_HTML

 

; write the Google Source to an HTMLfile

doc := ComObjCreate("HTMLfile")

doc.write(html)

 

; loop through all the links

links := doc.links

while (A_Index<=links.length, i:=A_Index-1)

list .= i ") " links[i].innerText "`nURL: " links[i].href "`n`n"

 

; some URLs have "about:" rather than the domain

StringReplace, list, list, about:, http://www.google.com, All

 

MsgBox, %list%

 

위 코드를 실행해보면 다음과 같이 구글의 링크들을 다 불러 올 수 있다는 것을 확인 할 수 있습니다.

 

이는 HTMLfile Com Object 를 사용하면 웹 페이지의 Document Object 를 사용하게 됩니다.

 

Document Object 에 대해서는 아래 주소 참조바랍니다.


 

http://msdn.microsoft.com/en-us/library/ms536437

 

http://www.w3schools.com/jsref/dom_obj_document.asp

 

자바 스크립트 등을 사용해 보신분들은 아시겠지만 Document Object 를 사용하면 각 HTML 페이지의 노드들을 손 쉽게 접근 할 수 있습니다.

 

아래 포스팅에서 파이썬 뷰티풀 소프를 이용해 로또 번호를 가져왔던 것과 같이 Autohotkey에서도 HTMLfile Com Object를 사용하여 이런 것들을 할 수 있다는 것 입니다.

 

또한 위 예에서는 URLDownloadToFile 을 사용하여 Google_HTML 이라는 이름의 파일로 읽어들인 후 Fileread 를 통해 변수로 저장하고 Google_HTML 파일을 지웠는데~

 

이 보다는 Autohotkey WinHttpRequest Com Object를 사용해서 변수로도 읽어 들이는 방법이 있습니다.

 

WinHttpRequest 에 대해 궁금하신 분들은 아래 주소 참조 바랍니다.

 

http://www.autohotkey.com/board/topic/56987-com-object-reference-autohotkey-v11/#entry358508


댓글2

  • 익명 2016.08.01 21:06

    오토핫키의 기능을 확장시켜주는 Com Object 명령어가 굉장히 매력적이네요. 초짜인 상태로 저 코드를 공부하느라 시간 좀 걸렸네요. 고맙습니다.
    답글