본문 바로가기
컴퓨터/오토핫키

오토핫키 WinHttpRequest.5.1 사용 웹 크롤링 하기

by 큐브빌드 2021. 7. 22.
반응형

사실 오토 핫키랑 엑셀이랑 WinHttpRequest에 대해서는 다른 게 없습니다.

 

오토 핫키로 WinHttpRequest를 사용할 때에는 거의 엑셀에 코드를 복사해서 옮겨와서 사용하는 게 버릇이 될 정도네요.

 

엑셀에서도 한번 제대로 소개를 하고 싶지만 오토핫키로 먼저 소개합니다.

 


웹 크롤링이란 무엇인가?

웹 크롤링이라고 하면 웹페이지를 모든 것을 복사해온다고 생각하시면 됩니다.

 

모든 것이라고 하면

 

1. 모니터에 보이는 화면에서 정보를 받아오는 방법이 있습니다.

 - 이것의 경우 모니터에 화면이 노출되어야 하기 때문에 일상에서 사용하는 크롬 , 엣찌 등 프로그램이 실행됩니다.

 - 아래 링크들이 대표적인 방법이죠. 

 - 간단하게 장점을 이야기하자면 실제 인터넷에 노출되고 있는 상태이기 때문에 정말 불가능한 게 없습니다.

InternetExplorer를 사용한 크롤링

그리고 InternetExplorer 업데이트가 멈췄기 때문에 지원하지 않는 사이트가 존재해서

Chrome을 사용한 크롤링

2. 웹 사이트의 코드(HTML)를 다운로드하여서 불러오는 형식입니다.

 - 정확히는 우클릭해서 에지 기준 페이지 원본 보기를 선택했을 때 나오는 코드를 불러올 수 있습니다.

 - 해당 방법은 장점은 1번보다는 빠릅니다. 하지만 단점은 불가능한 게 제법 있습니다. (물론 제 실력이 부족해서 그럴 수도 있습니다.ㅠㅠ)

 


크롤링하는 방법

사실 웹크롤링을 허용 유/무를 아는 방법이 있다고는 하지만 개인적인 생각으로는 특정 사이트를 예시로 들 수는 없을 것 같습니다.

 

앞서 이야기했듯 크롤링하고 싶은 사이트에 들어가서 "페이지 원본 보기" 했을 때 필요한 자료가 있다면 WinHttpRequest.5.1을 사용하실 수 있습니다. 

 

※ 그냥 페이지 원본 보기에서 Ctrl+F 눌러 찾아보시면 됩니다.

 

간혹 원본 보기에 자료가 있는데 못 찾을 수 있습니다. 자료를 base64로 인코딩해서 묶어둘 수도 있더군요.

 

이런 건 아마 더 많이 공부를 하셔야 될 것입니다.

 

wh := ComObjCreate("winhttp.winhttprequest.5.1")
url := "웹주소"
wh.open("get",url)
wh.send()
wh.WaitForResponse
clipboard := wh.responsetext

클립 보드에 해당 웹 페이지의 코드들이 모두 들어오게 됩니다.

반응형

댓글