Python으로 업무 자동화 만들기(1)

찬이·2022년 11월 15일
0

python

목록 보기
1/1

이번 글에서는 Python으로 업무를 자동화 하는 방법을 포스팅하겠습니다.

브라우저를 왜 굳이 코딩해서 컨트롤 해야해요?

라는 의문이 들 수 있습니다. (물론 저도)

물론, 일회성 작업들은 굳이 컨트롤할 필요가 없습니다.

하지만 매달 주기적으로 발송하는 메일이라던지,
매달 업데이트 되는 파일을 다운로드 받아야 한다던지

주기적으로 반복하는 작업들을 우리가 일일히 시행하면 힘들겠죠.

때문에 여러 기업들에서는 이런 작업들을 처리해주는 프로그램을 만들고
해당 프로그램을 스케줄러에 등록하여 자동적으로 시행되게 하죠.

이번 포스팅에서는 그러한 업무들을 자동화 하는 법을 써보도록 하겠습니다.

사용 언어 : Python
사용 툴 : Jupyter Notebook(anaconda)

위에 언어와 툴을 환경설정하는 법은 여러 글에 더 자세히 나와 있으니 생략하겠습니다.

우선, jupyter-notebook을 실행해볼까요?

우선 우리는 시작하기에 앞서서 필요한 라이브러리를 설치해야 합니다.
이 라이브러리들은 jupyter 내에서 설치할 수 있습니다.

이런 식으로 셀 내에서 설치할 수 있습니다.
저는 이미 깔려있기 때문에 already 메세지가 출력됬네요!

눈치채신 분들도 있겠지만 저희는 우선 selenium 라이브러리를 사용할 겁니다.
때문에 우선 selenium을 install 해줄게요

실행할 때 단축키는 ctrl + enter 를 사용합니다!

!pip install selenium

위 라이브러리는 주로 웹 브라우저를 컨트롤 하는데 사용합니다.

하지만 이것으로 라이브러리가 적용된 것이 아닌데요,
추가로 import 해주어야 적용됩니다.

몰래 추가로 time도 업그레이드 해줄게요!

from selenium import webdriver
import time

여기서 from과 import 두개가 있는데요,
from selenium import webdriver 의 뜻은
"selenium 라이브러리에서 webdriver 기능을 import 하겠다" 입니다.

selenium 라이브러리 내에는 여러 기능이 있지만 이번에는 webdriver 기능만을 사용해보겠습니다.

그럼 이제 사전 준비는 끝났고, 이번에는 브라우저를 오픈하기 까지만 진행해보겠습니다.

브라우저를 열기 위해서는 자신의 브라우저의 버전과 해당하는 웹드라이버가 필요합니다.

저는 크롬을 사용하기에 크롬 기준으로 설명드리겠습니다.

크롬을 켜고 오른쪽 위 점 3개 -> 도움말 -> chorme 정보를 클릭하면 아래와 같이 자신의 크롬 버전이 표시됩니다.

이제 아래 사이트에서 자신의 브라우저 버전에 해당하는 웹드라이버를 다운로드 하시면 됩니다.

https://chromedriver.chromium.org/downloads

이제 다운로드가 완료되면 설치된 경로를 기억해주세요!

그럼 이제부터 naver 사이트를 열어보겠습니다.

우선 방금 기억하라고 말씀드렸던 브라우저의 웹드라이버 경로를 driver 변수에 저장하겠습니다.

driver = webdriver.Chrome("C:/Users/p/chromedriver")

webdriver는 앞서 import했던 selenium입니다.
Python에서는 특정 기능을 사용할 때 주로 "."을 붙여서 사용하고는 합니다.

위에 코드를 통해 이제부터 크롬 브라우저를 컨트롤 할 때 driver 변수를 통할 것입니다.

그럼 이제 브라우저를 열어볼까요?

driver.get("https://www.naver.com/")

driver 변수와 get 함수를 사용하여 네이버 사이트로 접속하는 코드입니다.

아래는 전체 코드입니다.

jupyter notebook의 ipynb 파일 특성 상 각각의 셀을 따로 실행해야 합니다.
(물론 한 번에 실행하는 방법도 있습니다.)

때문에 3번째 셀의 코드를 실행시키기 위해서는 import를 해야 함으로 위에 두 셀의 코드를 먼저 실행시켜야 할 필요가 있습니다.

이제 코드를 실행하면 네이버가 열립니다!
만약 오류가 날 경우에는 import를 하지 않았거나 브라우저와 웹드라이버의 버전이 맞지 않을 확률이 높으므로 확인해주시면 되겠습니다.

오늘은 python으로 자동화 하기 첫번째로 브라우저 오픈까지 진행해봤습니다.
감사합니다.

profile
시작하는 코딩러입니다.

0개의 댓글