본문 바로가기
엑셀/VBA

Http Status Code를 통한 크롤링 안전성 상승 - WINHTTPREQUEST , XMLHTTPREQUEST

by 큐브빌드 2021. 12. 15.
반응형

WinHttpRequest 또는 XMLHttpRequest를 사용하다 보면 Status 결과 값이 존재합니다.

 

해당 값을 통해서 현재 정확하게 해당 웹페이지를 성공적으로 읽어왔는지 , 실패했는지 확인 가능합니다.

 

Status 값을 확인하는 방법은 간단합니다.

 

위 이미지는 WinHttpRequest와 XmlHttpRequest를 다 보여주기 위해 그냥 작성한 것이지만 해당 변수에 Status라는 값을 찾아낼 수 있습니다.

 

해당 Status 값에 따라 아래 표와 같이 체크 가능합니다.

 

HTTP STATUS CODE 설명 사용 하는 예시
1XX 처리 중 1XX로 나왔을 때 해당 페이지를 읽고 있기 때문에 WAIT 하여 시간을 대기
※ 하지만 WaitForResponse를 사용하면 거의 처리하지않는 예외입니다.
2XX 완료 정상 완료되었기 때문에 읽어온 페이지를 확인할 수 있습니다.
※ ResponseText를 사용하게 됩니다.
4XX 클라이언트 오류 다양한 오류가 있지만 결국 정상적으로 읽어오지 못했습니다. 다시 한번 해당 코드를 실행하여 해결할 수 있습니다.
5XX 서버 오류 페이지를 읽어오지 못하기 때문에 종료해야 됩니다.

대충 표로 정리하면 이렇게 처리되는 것 같습니다.

 

사실 400번때 오류일 때 해당 페이지를 다시 읽어오는 형태를 가장 많이 사용하였습니다.

 

그래서 크롤링 안전성을 조금 더 상향할 수 있겠네요.

 

반응형

댓글