소프트웨어 전문지 마이크로소프트웨어 395호는 데이터과학을 주제로 담았습니다. 데이터과학에 대한 개론, 학습 방법, 실무 적용 사례, 학계 등 마소 395호 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

이 글에서 소개할 내용은 파이썬 활용 방안 중 하나인 업무 자동화다. 최근 필자를 포함해 ‘업무 자동화’ 주제로 많은 콘텐츠가 나오고 있는데, 이는 그만큼 수요가 있다고 감히 추측해본다. 수요를 떠나서 그만큼 유용하다는 것만은 확실하다.

주위 개발자들과 얘기를 나눠보고 업무에 대한 얘기를 나눠보면 의외로 비효율적으로 일하는 경우가 많다. 정확한 통계가 아니라 조심스럽지만, 소기업일수록 개발자가 개발 외 업무도 많이 처리하고 있었는데 이를 꽤 비효율적으로 처리하는 경우가 많았다.

필자는 직장에 있을 때 매월 출근부를 제출했다. 기존에는 엑셀로 만든 출근부 양식에 맞춰 사람이 직접 작성했다. 아는 사람은 프로그램으로 만들어서 쉽게 처리했겠지만, 모르는 사람은 그저 직접 작성할 뿐이다. 어쩌면 직접 작성했던 사람도 ‘아마 되겠지, 근데 귀찮아’라는 생각을 했을지도 모른다. 조금 귀찮을 수는 있지만, 프로그램으로 만들어서 활용하면 ‘왜 여태 이걸 손으로 했지’라고 생각하게 되는 경우가 많다.

그 외에 개발회사는 아니지만, 개발 조직이 있는 회사에서는 이런 일이 훨씬 더 많았다. 결제 내역을 확인해서 그에 맞는 서비스를 제공해야 하는데 결제 내용을 사람이 주기적으로 확인하고 처리하는 경우도 꽤 있었다. 또 각 팀이 사용하는 도구가 달라 중간에 데이터 공유를 위해 구글 시트를 사용하는 경우도 있었고, 생각보다 많은 부분에서 업무를 비효율적으로 처리하고 있었다. 많은 사람이 효율적으로 일하기를 바라는 마음으로 책도 쓰고 강의도 했고, 같은 마음으로 마이크로소프트웨어에 어쩌면 쉬울 수도 어쩌면 어려울 수도 있는 자동화 주제를 가져왔다.

이 글에서 다룰 내용은 은행의 거래 목록 가져오기다. 파이썬 코드로 은행의 입출금 내역을 확인하는 예제를 다룬다. 파이썬 코드로 작성했기 때문에 알림을 보내거나 데이터 전처리나 후처리도 할 수 있어 유용하게 사용할 수 있다.

셀레늄 아키텍처. / 마이크로소프트웨어 395호
셀레늄 아키텍처. / 마이크로소프트웨어 395호
셀레늄은 웹 사이트를 자동으로 테스트하기 위해 나온 소프트웨어지만, 단순히 소프트웨어만 제공하는 것이 아니라 여러 프로그래밍 언어에서 사용할 수 있도록 바인딩도 제공한다.

웹 사이트를 자동으로 테스트한다는 말은 사용자(사람)가 웹 사이트를 이용하는 일련의 동작을 프로그램이 수행하도록 해 웹 사이트를 테스트할 수 있다는 의미다. 즉, 웹 사이트에서 사람이 하는 일을 프로그램으로 만들 수 있다.

셀레늄 구조에서 알 수 있듯이 언어 바인딩(Language Binding), 브라우저 드라이버(Browser Driver), 브라우저(Browser)가 필요하다. IBK기업은행은 보안 프로그램으로 크롬 확장 도구를 지원한다. 그 때문에 브라우저 드라이버와 브라우저는 크롬을 사용한다.

보통 상위 버전의 크롬을 지원하기 위해서는 최신 크롬 드라이버가 필요하기 때문에 최신 버전을 설치하자. 크롬 드라이버는 내려받으면 압축 파일이기 때문에 꼭 압축을 풀어 실행 파일 형태로 보관해야 한다.

언어 바인딩은 파이썬 패키지 관리자 ‘pip’로 설치할 수 있다. 이 글에서는 셀레늄 패키지 외 ‘Beautifulsoup4’ 패키지가 필요하다. ‘Beautifulsoup4’는 추후 셀레늄으로 분석할 수 없는 부분을 좀 더 쉽게 분석하기 위해 사용하는 패키지다. 셀레늄과 ‘Beautifulsoup4’ 패키지 2가지를 설치하자.

이태화 필자의 ‘파이썬으로 계좌 거래 목록 수집하기’에 대한 자세한 내용은 ‘마이크로소프트웨어 395호(https://www.imaso.co.kr/archives/4654)’에서 확인할 수 있다.