코드 1, 코드 2, ... 성공, 최종
이 노트북에서 인상 깊었던 건 셀 제목들이었다. 코드 1 → 수집 오류: HTML을 잘못 불러온다 → 성공 → 최종 → 수정. 크롤링은 한 번에 완성되지 않는다. 오류를 만나고, 원인을 찾고, 고치는 과정 그 자체가 기록으로 남아 있었다.
모듈을 불러오는 경로 설정
작업 파일과 공용 모듈(dbio)의 위치가 달라서, sys.path 에 경로를 추가하는 법을 배웠다.
import sys, os
target_dir = os.path.abspath("../../")
if target_dir not in sys.path:
sys.path.append(target_dir)
from dbio import to_db공휴일 대응 로직
환율은 영업일에만 고시된다. 그래서 특정 날짜에 데이터가 없을 때를 대비한 방어 로직을 함수 안에 넣었다. 단순히 수집만 하는 게 아니라, "데이터가 없는 날"이라는 예외 상황을 정상 흐름으로 처리하는 감각을 배웠다.
정제 후 DB 적재
수집한 원본을 pandas 로 정제하고, 앞서 만든 to_db() 모듈 함수로 MySQL에 저장했다. 수집 코드와 DB 입출력 코드를 분리(모듈화) 하니, 다른 프로젝트에서도 from dbio import to_db 한 줄로 재사용할 수 있었다.
정리
가장 큰 배움은 "실패를 지우지 않는 것"이었다. 오류 셀을 남겨두니 같은 실수를 반복하지 않았고, 왜 이 코드가 이렇게 생겼는지가 노트북 안에 그대로 설명됐다. 항해일지를 쓰는 이유와 같은 맥락이다.