Python ทำงานอัตโนมัติ Automation Programming

Python ทำงานอัตโนมัติ Automation

📅 2026-02-09 | โดย อ.บอม กิตติทัศน์ เจริญพนาสิทธิ์ — SiamCafe.net Since 1997

Python กับงาน Automation: ชีวิตดีขึ้นเยอะ!

น้องๆ เคยไหม? ทำงานเดิมๆ ซ้ำๆ ทุกวัน กรอกข้อมูล, แปลงไฟล์, ส่งอีเมล... โอ๊ย! ปวดหัว สมัยผมทำร้านเน็ตนี่แหละ ตัวดีเลย ต้องมานั่งไล่บิลลูกค้า, เช็คเครื่อง, สารพัดจะจุกจิก ถ้ามี Python ตั้งแต่ตอนนั้นนะ ชีวิตคงสบายกว่านี้เยอะ

Python เนี่ย มันเป็นภาษาโปรแกรมที่ใช้ง่าย แถมมี Library (เหมือนพวก Plugin สำเร็จรูป) เพียบ! เอามาช่วยทำงาน Automation ได้สารพัด ตั้งแต่เรื่องง่ายๆ ยันซับซ้อน น้องๆ ลองนึกภาพนะ จากที่ต้องมานั่งคลิกๆๆๆ ทั้งวัน กลายเป็นสั่ง Python ทำงาน แล้วเราไปพักกินกาแฟชิลๆ โคตรฟิน!

ทำไม Automation ถึงสำคัญ?

ถามว่าทำไมต้อง Automation? ง่ายๆ เลยนะ

สมัยผมดูแลระบบ Server เองนะ, Script เล็กๆ น้อยๆ ที่เขียนด้วย Python ช่วยชีวิตไว้เยอะเลย ไม่งั้นคงต้องนั่งแก้ config file ทีละเครื่อง, ทีละบรรทัด ตายแน่ๆ

เริ่ม Automation ด้วย Python: Step-by-Step

เอาล่ะ! มาเริ่มกันเลยดีกว่า ผมจะสอนแบบ Step-by-Step ให้น้องๆ เอาไปลองทำตามได้เลย

Step 1: ติดตั้ง Python และ Package ที่จำเป็น

อย่างแรกเลย ต้องมี Python ก่อน ไปโหลดได้ที่ python.org เลือก Version 3 นะ (Version 2 เลิกใช้ไปแล้ว)

พอลงเสร็จแล้ว ก็เปิด Command Prompt (Windows) หรือ Terminal (Mac/Linux) แล้วพิมพ์คำสั่งนี้ เพื่อติดตั้ง Package ที่จำเป็น:

pip install requests beautifulsoup4 schedule

คำสั่งนี้จะติดตั้ง requests (เอาไว้ดึงข้อมูลจากเว็บ), beautifulsoup4 (เอาไว้จัดการข้อมูล HTML) และ schedule (เอาไว้ตั้งเวลาให้โปรแกรมทำงาน)

Step 2: ตัวอย่างง่ายๆ: ดึงข้อมูลจากเว็บ (Web Scraping)

สมมติว่าเราอยากดึงราคาทองคำจากเว็บ สมาคมค้าทองคำ มาเก็บไว้ทุกวัน (อย่าเอาไปแทงทองนะน้อง 555)

เราสามารถใช้ requests กับ beautifulsoup4 ทำได้แบบนี้:

import requests
from bs4 import BeautifulSoup

url = "https://www.goldtraders.or.th/"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

# หา tag ที่มีข้อมูลราคาทอง (อันนี้ต้องไป inspect element ในเว็บดูก่อนนะ)
gold_price = soup.find("span", {"id": "GoldPrice965_BL"}).text

print("ราคาทองคำวันนี้:", gold_price)

Code นี้จะดึง HTML จากเว็บ, แล้วใช้ BeautifulSoup ค้นหา tag ที่มี id ว่า GoldPrice965_BL ซึ่งเป็น tag ที่เก็บราคาทองคำ แล้วก็ Print ออกมา

สมัยผมทำ SiamCafe.net นี่, ผมเคยเขียน Script ดึงข้อมูลเกมออนไลน์จากหลายๆ เว็บมาแสดงผลในเว็บตัวเองด้วยนะ แต่ต้องระวังเรื่องลิขสิทธิ์หน่อยนะน้อง

Step 3: ตั้งเวลาให้ทำงานอัตโนมัติ

ทีนี้ เราจะตั้งเวลาให้ Code ข้างบนทำงานทุกวันตอน 9 โมงเช้า ทำได้โดยใช้ schedule:

import requests
from bs4 import BeautifulSoup
import schedule
import time

def get_gold_price():
    url = "https://www.goldtraders.or.th/"
    response = requests.get(url)
    soup = BeautifulSoup(response.content, "html.parser")
    gold_price = soup.find("span", {"id": "GoldPrice965_BL"}).text
    print("ราคาทองคำวันนี้:", gold_price)

schedule.every().day.at("09:00").do(get_gold_price)

while True:
    schedule.run_pending()
    time.sleep(60) # เช็คทุกๆ 60 วินาที

Code นี้จะกำหนดให้ Function get_gold_price ทำงานทุกวันตอน 9 โมงเช้า โดยใช้ schedule

น้องๆ สามารถปรับเวลาได้ตามใจชอบเลยนะ เช่น schedule.every().hour.do(get_gold_price) (ทุกๆ ชั่วโมง) หรือ schedule.every().monday.do(get_gold_price) (ทุกวันจันทร์)

ตัวอย่าง Use Cases อื่นๆ

นอกจากดึงราคาทองคำแล้ว Python ยังทำอะไรได้อีกเยอะแยะ มาดู Use Cases อื่นๆ กัน:

สมัยผมทำร้านเน็ต, ผมเคยเขียน Script ให้มัน Back-up ฐานข้อมูลทุกคืนอัตโนมัติด้วยนะ ป้องกัน Database เจ๊ง แล้วข้อมูลหายหมด

ตารางเปรียบเทียบ Python Automation กับ Manual

คุณสมบัติ Python Automation Manual (ทำเอง)
ความเร็ว เร็วกว่า ช้ากว่า
ความแม่นยำ แม่นยำกว่า อาจมีข้อผิดพลาด
ความเหนื่อย สบายกว่าเยอะ เหนื่อย
Scale ขยายได้ง่าย ขยายยาก
ค่าใช้จ่าย ถูกกว่าในระยะยาว อาจแพงกว่า

เห็นไหมล่ะ? Python Automation มันดีกว่าเห็นๆ ใครยังไม่เริ่มใช้ ถือว่าพลาดมาก!

ถ้าอยากรู้เรื่อง Python หรือ Programming เพิ่มเติม แวะมาอ่านบทความที่ SiamCafe Blog ได้นะ มีอะไรดีๆ อีกเยอะ

อย่าลืมแวะมาพูดคุยแลกเปลี่ยนประสบการณ์กันได้ที่ SiamCafe Blog นะครับ

Best Practices / เคล็ดลับจากประสบการณ์

จัดการ Dependencies ให้ดี

สมัยผมทำร้านเน็ตนี่ปวดหัวสุดคือเรื่อง Dependencies นี่แหละ! โปรแกรม A ดันไปใช้ library เวอร์ชั่นเก่า, โปรแกรม B ต้องการเวอร์ชั่นใหม่กว่า... โอ้โห! Python ก็เหมือนกัน ต้องจัดการ dependencies ให้ดีนะ ไม่งั้นพัง

ใช้ venv เลย! สร้าง environment แยกแต่ละ project ไปเลย จบปัญหา Command ประมาณนี้:

python3 -m venv .venv
source .venv/bin/activate
pip install requests beautifulsoup4

พอเสร็จงานก็ deactivate ออกมาซะ

Error Handling สำคัญกว่าที่คิด

อย่าคิดว่า script ที่เราเขียนจะไม่มีวัน error! เคยเจอเคสลูกค้าเข้าร้านมาแล้วโปรแกรมคิดเงิน error เพราะ network ขัดข้องไหม? เขียน try...except ดัก error ไว้เสมอ มันช่วยชีวิตเราได้จริงๆ

try:
    # โค้ดที่อาจจะ error
    response = requests.get("https://www.example.com")
    response.raise_for_status() # เช็ค HTTP status code ด้วยนะ
except requests.exceptions.RequestException as e:
    print(f"Error: {e}")
    # ทำอะไรสักอย่างเมื่อ error เช่น log หรือ retry

Log ทุกอย่างที่ทำได้

Logging คือเพื่อนแท้ของ programmer! เวลาเกิดปัญหาอะไรขึ้นมา, log file นี่แหละที่จะบอกเราว่าเกิดอะไรขึ้น Python มี module logging ให้ใช้ ใช้ง่ายมาก

import logging

logging.basicConfig(filename='my_script.log', level=logging.INFO, 
                    format='%(asctime)s - %(levelname)s - %(message)s')

logging.info("Script started")
# ... โค้ด ...
logging.warning("Something might be wrong")
logging.error("An error occurred")
logging.info("Script finished")

พอมี log แล้ว ชีวิตง่ายขึ้นเยอะ!

เขียน Comment อธิบาย Code

อย่าคิดว่า code เราเขียนวันนี้ พรุ่งนี้จะจำได้! เขียน comment อธิบายว่า code แต่ละส่วนมันทำงานยังไง คนอื่น (หรือแม้แต่ตัวเราเองในอนาคต) จะได้เข้าใจง่ายๆ ยิ่ง code ซับซ้อน ยิ่งต้อง comment เยอะๆ

เขียนให้เหมือนพี่สอนน้องอะ เข้าใจง่ายดี

FAQ คำถามที่พบบ่อย

Python version ไหนดีที่สุด?

Python 3 ไปเลยน้อง! Python 2 เลิก support ไปนานแล้ว Python 3 มี features ใหม่ๆ และ security ดีกว่าเยอะ

Module อะไรที่ควรเรียนรู้เป็นอันดับแรก?

requests สำหรับดึงข้อมูลจากเว็บ, beautifulsoup4 สำหรับ parsing HTML, os สำหรับจัดการไฟล์และ directory, และ datetime สำหรับจัดการวันที่และเวลา พวกนี้ใช้บ่อยแน่นอน

Automation ยากไหม?

ไม่ยากอย่างที่คิด! เริ่มจาก project เล็กๆ ง่ายๆ ก่อน เช่น rename ไฟล์ตาม pattern, download รูปจากเว็บ พอทำไปเรื่อยๆ จะเริ่มคล่องเอง อย่าท้อ!

หา Library เพิ่มเติมได้จากที่ไหน?

PyPI (Python Package Index) เลยน้อง https://pypi.org/ มีทุกอย่างที่เราต้องการ ค้นหา library ที่ต้องการแล้วใช้ pip install ได้เลย

มี Framework อะไรแนะนำบ้าง?

ถ้าจะทำเว็บแนะนำ Flask หรือ Django แต่ถ้าจะทำพวก Data Science แนะนำ Pandas กับ NumPy แต่ถ้าจะเทรด Forex แนะนำไปดูที่ iCafeForex นะครับ

สรุป

Python Automation มันคือโลกที่เปิดกว้างมาก! เราสามารถใช้ Python ทำอะไรได้เยอะแยะ ตั้งแต่ tasks ง่ายๆ ไปจนถึง project ที่ซับซ้อน ขอแค่เรามีความตั้งใจที่จะเรียนรู้และลองทำ ที่สำคัญอย่าลืมเข้าไปอ่าน SiamCafe Blog ด้วยนะ มีเรื่องน่าสนใจเยอะเลย

หวังว่าบทความนี้จะเป็นประโยชน์นะน้อง! สู้ๆ!