웹 크롤링 연습을 위해 엑사남님 강의 중 [오늘의 날씨]를 가져오는 강의를 이용하여 크롤링을 작업하였다.
https://www.youtube.com/watch?v=5U5zPQUAL7E
아참... 새해 복 많이 받으시길.....
우선 본인이 웹 크롤링을 하는 방식은 이렇다.
1. 소스에서 추출하려는 값의 첫 ClassName태그부터 내가 원하는 마지막 TagName이 아닌 새롭게 시작하는 ClassName까지 정규식으로 모든 값들을 추출
정규식 패턴 : <div class="status_wrap">(.+?)<div class="report_card_wrap">
추출된 값 : <div class="status_wrap"> <h3 class="blind">오늘의 날 </h3> <div class="weather_graphic"> <div class="weather_main"> <i class="wt_icon ico_wt1"> .... <div class="report_card_wrap">
2. 추출한 값을 태그의 시작인 ' < ' 로 Split하여 배열에 모두 담는다.
3. 각 배열들을 순환하면서 첫 값의 공백을 제거하고 태그의 끝표시인 '>'로 배열을 분리한 후 그 두번째 값을 Result값에 담게 된다. 단, 구분된 Result의 값이 없다면 무시하게 됨으로 의미있는 값들만 Result 배열에 담아지게 된다.
Result(R, 1) = LTrim(Split(V, ">")(1))
4. 마지막으로 이렇게 추출된 값들을 원하는 형식으로 도출하게 된다.
우선 이렇게 작업을 하였을 경우 일일이 파싱을 하는 것보다는 크게 시작과 끝만 추출한 후 거기서 다시 의미있는 단어들로 재 조합하면 됨으로 정규식의 패턴을 조합하는 것에 큰 어려움없이 원하는 값을 추출할 수 있으리라 본다...
본인처럼 크롤링에 어려움이 있던 분들께 조금이라도 도움이 되길 바란다.
'VBA' 카테고리의 다른 글
[VBA] 나만의 영어사전 만들기Lv3.(feat. Konahn님) (0) | 2022.02.05 |
---|---|
[VBA] 나만의 영어사전 만들기 Lv2(네이버 영어사전) (2) | 2022.01.31 |
[VBA] 나만의 영어사전을 만들어보자(feat. 네이버사전) (0) | 2022.01.28 |
[VBA] 텍스트마이닝(ArrayList, Dictionary, Reg) (0) | 2022.01.18 |
[VBA] 오픈챗 대화내용 일자별 추출하기 (3) | 2022.01.12 |
댓글