1. 프로그램 제작 배경
언어 데이터 구축 업무 중에 큰 비중을 차지하는 것은 원문 텍스트를 파파고, 구글 번역기를 돌려 엑셀에 정리하는 것이었습니다. 그런데 원문이 1200개가 넘기 때문에 상당히 오래 걸리는 업무입니다. 원래 이 업무를 수작업으로 하게 된다면 프로세스는 다음과 같습니다.
for i in range(1200):
1. 엑셀에 있는 원문을 하나 복사한다.
2. 원문을 파파고 혹은 구글에 붙여넣기를 하여 번역된 텍스트를 복사한다.
3. 번역텍스트를 원문 옆의 셀에 붙여넣기를 한다.
이걸 1200번을 하다가는 제 손목과 손가락이 제대로 남아 있지 않을 것 같았고 상당한 현타가 올 것 같았습니다...ㅎㅎ
그래서 문득 openpyxl과 selenium을 사용해서 업무를 자동화시킬 수 있지 않을까? 라는 생각이 들어 만들게 되었습니다.
이 프로그램을 만들고 나서는 업무의 질과 효율이 엄청나게 향상되었습니다..!!
프로그램이 저 대신 단순 노동을 하고 저는 그 시간에 다른 업무나 공부를 하게 되었습니다.
어떻게 보면 꼼수라고 볼수도 있겠지만, 완성된 프로그램의 결과물이 제가 직접하는 것보다 정확성과 시간 측면에서 전부 뛰어납니다.....ㅎㅎ
2. 프로그램 설계
1. openpyxl로 엑셀에 있는 원문을 가져와서 저장한다.
2. selenium webdriver로 파파고 혹은 구글 번역 홈페이지에 접속한다.
3. selenium으로 파파고에 저장된 원문을 입력한다.
4. 번역된 결과를 저장한다.
5. 번역된 결과를 엑셀에 저장한다.
6. 반복한다.
3. 구체화
첫 번째로, 엑셀에서 불러올 데이터의 셀의 위치와 결과값을 저장한 셀의 위치를 지정해서 입력해주어야 합니다.
회사의 보안상 엑셀을 업로드 하는 것은 문제가 될 수 있으며, 회사나 사람마다 엑셀의 양식이 다르므로, 구체적인 설명은 생략하겠습니다.
그 다음으로 파파고와 구글 번역 홈페이지의 html에서 필요한 요소를 찾아내야합니다.
저의 경우는 다음과 같이 따로 정리해 두었습니다.
1. 파파고 홈페이지 html 에서 필요한 요소
원문을 넣을 입력창: textarea#txtSource
번역문을 가져올 결과창: div#txtTarget
번역을 초기화할 X버튼: button.btn_text_clse___1Bp8a
2. 구글번역 홈페이지 html에서 필요한 요소
원문을 넣을 입력창: textarea#source
번역문을 가져올 결과창: div.result-shield-container
번역을 초기화할 X버튼: div.clear.jfk-button-flat.tlid-clear-source-text.jfk-button
이렇게 간단하게 크롤링을 통해 업무를 자동화하기 위한 준비가 완료되었습니다!
세부 코드와 수행시간 개선은 다음 포스팅에 이어서 올리겠습니다.
'Work Experience > ETRI Intern' 카테고리의 다른 글
너무 바쁜 이번주, 자동통역기 성능 평가 (0) | 2020.08.05 |
---|---|
번역 데이터 구축 프로그램: 개발과 수정 (0) | 2020.07.29 |
인턴 일지를 시작하며, (0) | 2020.07.29 |