Chloe Jungah Kim
Chloe Jungah Kim
A blogger who writes about everything.

Python 자동화 스크립트 작성하기

Python 자동화 스크립트 작성하기

파이썬은 그 강력한 기능과 간단한 문법 덕분에 자동화 작업에 널리 사용됩니다. 반복적이고 시간이 많이 걸리는 일상 업무를 자동화하면 효율성을 크게 향상시킬 수 있습니다. 자동화를 하게 되면, 시간을 절약할 수 있고, 수작업에서 발생하는 오류를 줄일 수 있으며, 생산성을 향상할 수 있습니다. 이번 포스팅에서는 파이썬으로 자동화 스크립트를 작성하는 방법에 대해서 소개하도록 하겠습니다.

파이썬을 설치하는 과정과 기본 문법에 대해서는 이전에 작성해 둔 Python Tutorial 포스팅을 참고하시기 바랍니다.

웹 스크래핑(웹 크롤링)

웹 스크래핑이란 웹사이트에서 데이터를 자동으로 추출하는 것을 의미합니다. 파이썬의 requestsBeautifulSoup 라이브러리를 사용하여 웹 스크래핑을 간단하게 수행할 수 있습니다. 두 라이브러리를 사용하기 위해서는 패키지를 설치해야 하는데, 터미널 혹은 명령 프롬프트를 열고 pip를 사용하여 설치하면 됩니다.

1
pip install requests beautifulsoup4

다음은 example.com이라는 사이트에서 모든 <h1> 태그를 찾아 그 텍스트를 출력하는 예시입니다.

1
2
3
4
5
6
7
8
9
10
import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

h1s = soup.find_all("h1")
for h1 in h1s :
    print(h1.get_text())

참고로, example.com 사이트의 구조는 다음과 같습니다.

example.com

따라서, 위 코드를 실행하게 되면 Example Domain이 출력됩니다.

파일 처리 자동화

파이썬을 이용하여 파일을 읽고 쓰는 작업을 자동화 할 수도 있습니다. 파이썬의 os 모듈을 사용하여 파일 및 디렉토리를 쉽게 관리할 수 있습니다. 다음은 특정 디렉토리 내의 모든 텍스트 파일을 읽고 내용을 출력하는 코드입니다.

1
2
3
4
5
6
7
8
9
import os

directory = "/path/to/directory"

for filename in os.listdir(directory) :
    if filename.endswith(".txt") :
        with open(os.path.join(directory, filename), "r") as file :
            content = file.read()
            print(content)

엑셀 파일 자동화

엑셀 파일을 처리하는 작업은 openpyxl 라이브러리를 사용하여 자동화할 수 있습니다. 사용하기 전에 우선 openpyxl 패키지를 설치해줍니다.

1
pip install openpyxl

다음은 example.xlsx 파일의 2행부터 10행까지의 데이터를 출력하는 코드입니다.

1
2
3
4
5
6
7
from openpyxl import load_workbook

workbook = load_workbook("example.xlsx")
sheet = workbook.active

for row in sheet.iter_rows(min_row=2, max_row=10, values_only=True) :
    print(row)

작업 스케쥴링

자동화 스크립트를 정기적으로 실행하기 위해서는 작업 스케쥴링이 필요합니다. 파이썬에서 제공하는 schedule 라이브러리를 사용하면 작업 스케쥴링 또한 간단하게 할 수 있습니다. 다음은 특정 함수를 매일 오전 10시에 실행하는 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
import schedule
import time

def job() :
    print("Scheduling job running...")

schedule.every().day.at("10:00").do(job)

while True :
    schedule.run_pending()
    time.sleep(1)

이메일 자동화

파이썬의 smtplib 모듈을 사용하면 이메일을 보내는 것 또한 자동화 할 수 있습니다. smtp 서버를 이용하기 때문에 smtp 서버가 없다면 무료로 제공되는 서버를 이용할 수도 있을 것입니다. 참고로, 구글에서도 무료 smtp 서버를 제공하니 필요하다면 확인해보시면 좋을 것 같습니다.

다음은 간단한 텍스트 이메일을 보내는 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import smtplib
from email.mime.text import MIMEText

def send_email(subject, body, to_email) :
    from_email = "from_email@example.com"
    password = "password"

    msg = MIMEText(body)
    msg["Subject"] = subject
    msg["From"] = from_email
    msg["To"] = to_email

    with smtplib.SMTP_SSL("smtp.example.com", 465) as server :
        server.login(from_email, password)
        server.sendmail(from_email, to_email, msg.as_string())

send_email("Test Subject", "This is a test email.", "to_email@example.com")

파이썬은 자동화 스크립트를 작성하기에 최적화된 언어입니다. 다양한 라이브러리와 간단한 문법 덕분에 초보자도 쉽게 자동화 작업을 시작할 수 있습니다. 위에서 소개한 예시들 이외에도 파이썬으로 자동화할 수 있는 작업은 무궁무진합니다. 자동화를 통해 일상 업무를 효율적으로 관리하고, 시간을 절약하고 생산성을 높일 수 있을 것입니다.