[스파르타코딩클럽] 개발일지 #1 - 개인 프로젝트 기획하기

lee_dy·2020년 8월 12일
0
post-thumbnail

나만의 웹페이지 만들기 - "뉴스로 배우는 이탈리아어"

1. 구상 계기

현재 어문학과를 전공하고 있는 대학생으로서 당장 다가오는 학기에 제일 많이 접하게 될 과제가 무엇일지 생각해 보았다. 가장 먼저 떠오른 것이 '번역'이었다. 어문학 전공생에게 번역 과제란 피할 수 없는 존재이기 때문이다.

프로젝트를 좀 더 구체화 시키기 위해 번역 과제를 수행하면서 어떤 불편함이 있었는지 되새겨 보다가 문득 번역을 할 때마다 번역기, 단어사전, 문서 작성기 등 여러 웹페이지들로 복잡하게 채워지는 나의 컴퓨터 화면이 떠올랐다.

상단의 이미지는 실제 내가 번역을 할 때 사용하는 화면을 캡쳐한 것이다. 4개의 각기 다른 웹페이지를 한 화면에 모아두니 매우 복잡해져 사용하기가 불편하다. 매번 똑같은 화면을 하나하나 세팅하는 것 또한 상당히 귀찮은 작업이다. 이러한 문제점에서 출발하여 번역할 때 필요한 기능들이 한 곳에 보기 좋게 구현된 웹페이지를 구상하게 되었다.

2. 개발 기능 및 구현 방법

프로젝트의 주제를 '외국어 전공자를 위한 해외 원문 번역 웹사이트'로 굳힌 후, 본격적으로 사이트의 기능들을 생각하는 과정에서 문제를 발견했다.

외국어 원문 텍스트를 가져오는 방식으로 단순한 복사 붙여넣기가 아닌 코딩클럽에서 배운 데이터 크롤링 기술을 활용하고 싶었는데, 그렇게 되면 원문이 들어있는 웹페이지 구조의 제한을 받게 되어 원문 텍스트를 가져오는 과정이 매우 복잡해지는 것이었다. 결국 웹크롤링 과정을 최대한 단순화하기 위해서 크게 두 가지 면에서 주제를 수정하게 되었다.

1. 모든 외국어 전공자를 위한 → 이탈리아어 전공자를 위한
2. 모든 종류의 해외 원문 번역 → 해외 뉴스 기사 번역

지원 언어를 모든 외국어에서 본인의 전공어인 이탈리아어만으로 제한하고, 번역 가능한 원문의 종류를 이탈리아의 무료 온라인 뉴스기사로 축소함으로써, 웹크롤링 대상을 이탈리아의 무료 온라인 뉴스 기사 사이트 3곳으로 줄였다.

위의 변경사항을 반영하여 최종 정립한 웹사이트의 구성, 기능 및 구현 방법은 다음과 같다.

  • 뉴스 기사 본문 스크랩 기능
    : 원하는 뉴스매체를 선택하고 해당 매체의 기사 url을 입력하면 기사의 제목과 본문이 스크랩 된다. Python BeautifulSoup을 활용하여 구현할 예정이다.
  • 스크랩 텍스트 한/영 번역 기능
    : 스크랩된 텍스트가 번역기를 통해 각각 한글과 영어로 번역된다. 카카오, 네이버, 구글의 번역 Open API를 활용할 예정이며, 시간과 능력이 된다면 3사의 번역 데이터를 모두 출력하여 사용자가 번역 결과를 한 번에 확인 할 수 있도록 구현하고자 한다.
  • 단어 사전 및 단어장 기능
    : 원문에서 모르는 단어의 뜻을 검색하고 단어장에 추가할 수 있다. 사전은 마땅한 open API가 없는 관계로 직접 웹브라우저에 접근하여 데이터를 가져올 수 있는 Python의 Selenium을 활용해 구현할 예정이다.
  • 기본 문서 편집 기능
    : 사용자가 원문에 번역을 추가하거나, 원하지 않는 본문의 문장을 삭제하는 등 원문의 내용을 직접 수정할 수 있다. 프론트엔드에서 입력을 받아 DB에 데이터를 저장, 수정, 삭제하는 방식으로 구현할 예정이다.
  • 텍스트/PDF 파일 추출 기능
    : 원하는 파일 형식으로 원문과 입력한 번역문을 추출할 수 있다. 추가적으로 원문과 번역문의 문장 구성도 선택이 가능하다.

3. 필요한 데이터 소스

[뉴스 사이트]

[번역기]

[사전]

0개의 댓글