วันนี้มาแจกโค้ดระบบแจ้งเตือน ราคาทองคำ เพื่อไปพัฒนาต่อ ผมเขียนด้วย go นะครับ คือระบบจะทำการตรวจสอบราคาทองคำจากเว็บไซต์ทองคำ และส่งข้อมูลผ่าน Line OA (Official Account) จุดประสงค์ทำมาเพื่อศึกษาเท่านั้น การนำข้อมูลจากเว็บไซต์อื่นมาใช้ ควรตรวจสอบเงื่อนไขการใช้งาน (Terms of Service) ของเว็บไซต์นั้นๆ ก่อน เพื่อให้แน่ใจว่าไม่ละเมิดลิขสิทธิ์
การทำงานของระบบ
-
การดึงข้อมูล: ระบบใช้เครื่องมือ Colly ในการทำ Web Scraping เพื่อตรวจสอบราคาทองคำจากเว็บไซต์ทองคำ ข้อมูลที่ดึงมาจะรวมถึงราคาซื้อและขายของทองคำแท่ง (Gold Bar) และทองรูปพรรณ (Ornament) รวมถึงการเปลี่ยนแปลงของราคา
-
การบันทึกข้อมูล: ข้อมูลที่ดึงมาได้จะถูกแปลงเป็นรูปแบบที่สามารถบันทึกลงฐานข้อมูลได้ ระบบจะทำการตรวจสอบว่าข้อมูลที่บันทึกมีการเปลี่ยนแปลงหรือไม่ หากมีการเปลี่ยนแปลง ระบบจะบันทึกข้อมูลใหม่ลงในฐานข้อมูล
-
การแจ้งเตือน: ระบบจะทำการส่งข้อมูลราคาทองคำล่าสุดผ่าน Line OA ให้กับผู้ใช้ที่สมัครติดตาม โดยการส่งข้อมูลจะใช้ฟังก์ชัน SendLineFlexMessage เพื่อให้ข้อมูลถูกส่งไปยังผู้ใช้ทุกคนที่สมัครติดตาม
-
การตั้งค่า Cron Job: ระบบใช้ Cron เพื่อทำการตรวจสอบและอัปเดตราคาทองคำทุก 30 วินาที
การติดตั้งและการใช้งาน
-
การติดตั้ง: ต้องทำการติดตั้ง Dependencies ต่างๆ เช่น Fiber, Gorm, Colly, และ Cron โดยใช้คำสั่ง
go mod tidy
เพื่อให้โปรเจกต์สามารถใช้งานได้ -
การตั้งค่า: ตั้งค่าในไฟล์ ที่
environments
สำหรับการเชื่อมต่อกับฐานข้อมูลและการตั้งค่าต่างๆ ที่เกี่ยวข้องกับการทำงานของระบบ -
การเริ่มต้นใช้งาน: รันโปรแกรมโดยใช้คำสั่ง
go run main.go
ระบบจะเริ่มทำงานและส่งข้อมูลราคาทองคำไปยัง Line OA ตามเงื่อนไขที่ตั้งค่าไว้
สรุป
ระบบนี้เป็นจุดเริ่มต้น สำหรับผู้ที่สนใจพัฒนาระบบแจ้งเตือน Web Scraping โดยสามารถนำไปประยุกต์ใช้ได้งานส่วนตัวได้เลยนะครับ