โปรเจกต์นี้เป็นระบบดึงข้อมูล (Web Scraper) ที่พัฒนาด้วยภาษา Python เพื่อทำหน้าที่รวบรวมข้อมูลคอนเสิร์ตจากเว็บไซต์จำหน่ายบัตรชั้นนำในประเทศไทย และจัดการข้อมูลศิลปินเพื่อส่งต่อไปยัง API ของระบบ SoundScape
- ระบบดึงข้อมูลคอนเสิร์ตอัตโนมัติ: รองรับการดึงข้อมูลจากแพลตฟอร์มต่างๆ เช่น AllTicket, The Concert, Ticketier และ Highlight
- ฐานข้อมูลศิลปินอัจฉริยะ: ดึงรายชื่อศิลปินยอดนิยมของประเทศไทยผ่าน Last.fm API และค้นหารูปภาพศิลปินความละเอียดสูงผ่าน Deezer API โดยอัตโนมัติ
- ระบบตรวจจับและจับคู่ศิลปิน: สามารถวิเคราะห์ชื่อและรายละเอียดของคอนเสิร์ต เพื่อจับคู่กับฐานข้อมูลศิลปินที่มีอยู่ได้อย่างแม่นยำ
- เชื่อมต่อ API อัตโนมัติ: ส่งข้อมูลคอนเสิร์ตและข้อมูลศิลปินที่ดึงมาได้ไปยัง Backend (Laravel) ของระบบ SoundScape ทันที
- Python 3.8 หรือสูงกว่า
- เว็บเบราว์เซอร์ Microsoft Edge (ระบบใช้ Selenium ร่วมกับ msedgedriver)
- API Key จาก Last.fm (สามารถสมัครใช้งานได้ฟรี)
- เปิด Terminal หรือ Command Prompt แล้วเข้าไปที่โฟลเดอร์ของโปรเจกต์
- ติดตั้งไลบรารีที่จำเป็นทั้งหมดผ่านไฟล์ requirements.txt ด้วยคำสั่ง:
pip install -r requirements.txt
- สร้างไฟล์ .env และใส่ Last.fm API Key ของคุณ
เพื่อให้ระบบทำงานได้อย่างสมบูรณ์และฐานข้อมูลมีประสิทธิภาพสูงสุด กรุณารันคำสั่งตามลำดับต่อไปนี้:
- สร้างไฟล์ฐานข้อมูลศิลปินแบบ Local (ทำเพียงครั้งแรก หรือเมื่อต้องการอัปเดตรายชื่อศิลปินใหม่):
python artist/build_artists.py
- ซิงค์ข้อมูลศิลปินและรูปภาพไปยังฐานข้อมูลหลัก (ตรวจสอบให้แน่ใจว่าเปิดเซิร์ฟเวอร์ของฝั่ง Web Application ไว้แล้ว):
python artist/seed_artists.py
- เริ่มการดึงข้อมูลคอนเสิร์ตจากทุกแพลตฟอร์ม:
python run_all.py
โปรเจกต์นี้ถูกสร้างขึ้นเพื่อจุดประสงค์ทางการศึกษา