본문 바로가기
IT 기록/사이드 프로젝트

사이드 프로젝트#2 HSK 단어 정리 자동화

by Lazy Quant 2020. 2. 10.
반응형

1. 문제 상황

2,500여 개의 단어를 이런 형식으로 정리해야 했다.

 중국어 강사인 지인 A씨는 매번 새로운 수업을 맡게 될 때마다 강의 자료를 준비하는데 들어가는 시간이 너무 많다고 토로했다. 특히 강사의 판단은 많이 들어가지 않고, 단순히 반복적으로 해야하는 업무들이 많았다. 그 중 가장 귀찮고 시간을 많이 잡아먹는 업무는 단어의 뜻을 사전에서 찾아 단어장을 만드는 것이다. 약 2,500개의 단어를 사전에 검색하고 성조, 품사, 뜻을 정리하는데 상당한 시간이 소요된다고 하였다.

 

2. 기획 및 진행

 지인 A씨에게 그렇게 단순 반복적인 업무는 요즘 자동화 프로그램으로 해결할 수 있다고 귀띔해주었다. 그리고는 나도 재미있을 것 같아 하나 만들어주겠다고 했다. 나름 오랫동안 HSK를 공부한 경험이 있기 때문에 업무(?) 영역에 대한 이해도는 충분한 편이었다. 다만 크롤링과 자동화 기능은 나도 처음 접해보는 것들이라 어느정도 공부가 필요했다.

 

 프로그램의 구조 자체는 매우 간단했다.

1. 엑셀 파일 Load

2. Row 별로 단어 추출

3. 네이버 사전 검색

4. 해당하는 단어의 발음, 품사, 뜻 추출

5. 엑셀 파일에 Write

 

 엑셀 파일을 읽고 쓰는 데에는 win32com 라이브러리를 사용하였고, 크롤링은 selenium 라이브러리를 사용하였다. 두 라이브러리 모두 이미 사람들이 구현한 예제들이 많이 나와있어서 어렵지 않게 구현할 수 있었다. selenium을 사용할 때 내가 원하는 웹페이지에서 정확한 부분을 추출하기 위한 패턴만 잘 찾으면 되는 것 같다.

 

3. 결과물 및 후기

HSK 단어를 네이버 사전에서 검색해 자동으로 정리

 사실 아주 간단한 프로그램의 구현인데, 이렇게 결과물을 내고 영상으로 찍어보니 뭔가 있어보인다. 크롤링 및 자동화를 한 번쯤은 해보고 싶었었는데, 이렇게 사이드 프로젝트를 진행하면서 처음 접하게 되었다. 역시 사이드 프로젝트는 언제나 도전해야 한다는 걸 또 한 번 느꼈다. 회사 업무에서도 잘 활용한다면 많은 시간을 허비하는 단순 반복 업무를 쉽게 처리할 수 있을 것 같았다.

 

 다만 크롤링의 경우 데이터를 제공하는 쪽(네이버 사전)에서 HTML 구성을 바꾸어버린다면 추후에 정상적으로 작동하지 않을 가능성이 있다. 이번에 이 글을 작성하기 위해서 오랜만에 다시 크롤링 프로그램을 돌렸는데, 제대로 작동하지 않아서 당황했다. 다행히 네이버 사전의 웹페이지가 많이 바뀌지 않아 조금만 손보고 정상적으로 구동시킬 수 있었다.

 

 또 한 가지 아쉬운 점은 실제 서비스로 출시하는 것이 아니다보니 적당한 선에서 품질을 타협하게 된다. 계속 유지보수할 것이 아니니 코드도 지저분하게 내버려두게 되고, 완성도도 조금 떨어져도 마무리하고 다음으로 넘어가게 된다. 사이드 프로젝트 답게 부담을 가지지 않는 선과 성장을 위해 품질을 한 단계 업그레이드 시키는 선 사이에서 잘 조율해야할 것 같다. 또한 실제 서비스 출시는 스스로에게도 많은 동기부여가 되니 도전해보아야겠다.

반응형

댓글