Intro

이 글은 미래내일 일경험 인턴십에서 근무하면서

겪거나 배우고 느낀 것을 기록하고자 작성한 포스트입니다.


크롤링 코드 수정 완료

오늘은 크롤링 코드 수정을 완료했다.

mysql의 한글깨짐 문제 때문에 굉장히 골치를 앓고 있었는데…

수정한 방법을 알고 보니 매우 허무함을 느꼈다.

다른 인턴 분이 merge문을 사용해 중복 데이터가 쌓이는 것을 해결하셨다고 한 걸 보고

어제 자료를 찾아보다가 무심코 지나친 merge문을 이용한 방법이 생각났다.

MERGE INTO health h
USING dual
ON (h.환자번호 = :1 AND h.측정날짜 = :2)
WHEN MATCHED THEN
UPDATE SET h.환자이름 = :3, h.성별 = :4, h.수축기혈압 = :5, h.이완기혈압 = :6, h.맥박 = :7, h.혈당 = :8, h.체온 = :9, h.호흡 = :10, h.체중 = :11 WHEN NOT MATCHED THEN
INSERT (환자번호, 환자이름, 성별, 측정날짜, 수축기혈압, 이완기혈압, 맥박, 혈당, 체온, 호흡, 체중)
VALUES (:1, :3, :2, :4, :5, :6, :7, :8, :9, :10, :11)

인턴 분이 보내주신 코드를 참고해서 내가 작성한 sql문은 위와 같다.

실행해보니 데이터가 중복으로 쌓이지 않고 잘 작동하는 것을 확인해볼 수 있었다.


측정 안된 날부터 크롤링하는 기능 추가 

크롤링 코드를 수정하면서 개인적으로 느낀 부분인데, 측정 안 된 날부터 크롤링을 해오는 기능을 넣으면 좋겠다는 생각을 했다.

그래서 if문을 통해 데이터베이스의 가장 최근 날짜가 오늘 날짜와 같으면 오늘치만 크롤링을 하고(수정사항을 반영하기 위해서), 그 전의 날짜이면, 그 날짜 이후부터 크롤링을 진행하는 코드를 작성했다.

그런데 아직 미완성이라서 다음에 사무실 출근하면 그 때 수정 작업을 마무리 해야겠다.

내일을 대표님이 다른 인턴 분과 코엑스에 업무를 보러 가셔서 재택 근무하라고 말씀하셨다.

나는 이제 인턴 기간이 얼마 안남아서 그런듯.

내일은 streamlit 프로펫 문서를 확인해보고 테스트를 해봐야겠다.

 

 

태그:

카테고리:

업데이트: