ดึงรายชื่อภาพยนต์ Web Scraping ด้วย App Script เข้า Line Notify

294
ดึงภาพยนตร์เข้า LINE
ดึงภาพยนตร์เข้า LINE

ก่อนอ่านบทความรบกวนกดติดตามด้วยนะครับ จะได้รู้ว่ามีคนสนใจบทความแนวแบบนี้มากเพียงใด
Youtube: www.youtube.com/channel/UC3gI47SkBU7rd-hB9B2SN0g
Facebook: www.facebook.com/dekcomdd/

สำหรับคนที่ชอบชมภาพยนต์ แล้วไม่รู้ว่า “วันนี้มีภาพยนตร์เรื่องอะไรบ้าง” ดีกว่าไหมถ้ามีรายชื่อภาพยนตร์แจ้งเตือนเข้า LINE และอัพเดทอยู่ตลอดเวลา

สำหรับเทคนิค Web Scriping นี้ จะเป็นการดึงข้อมูลซึ่งมีการเผยแผ่หรือเปิดเผยต่อสาธารณะแล้ว เช่น ข้อความ ราคา รูปภาพ และอื่น ๆ ซึ่งเทคนิคนี้มีประโยชน์มาก ๆ ในการรวบรวมข้อมูลที่ต้องการมาใช้งาน ซึ่งเป็นการลดเวลาในการรวบรวมข้อมูลเป็นอย่างมาก

การดึงข้อมูลรายชื่อภาพยนตร์ในครั้งนี้ดึงมาจากเว็บไซด์ www.majorcineplex.com เพื่อไม่ให้เป็นการเสียเวลาเรามาลงมือทำดีกว่าครับ มีเพียงไม่กี่ขั้นตอน

ขั้นตอนแรก เราจะต้องเพิ่มไลบรารี 2 ตัว โดยให้เลือกเวอร์ชั่นสูงสุด ได้แก่
1. Cheerio: 1ReeQ6WO8kKNxoaA_O0XEQ589cIrRvEBA9qcWpNqdOP17i47u6N9M5Xh0
2. WebScreenToLine: 1qdN12lQ1tmn3mMDO55PlnVRAzHH7aur5QR1S4-7fCe5kelYRAS-SR2hU

เมื่อเพิ่มไลบรารีทั้ง 2 ตัวแล้ว ให้ทำการ copy code ด้านล่างไปไว้ใน App Script ได้เลยครับ

function cinema2line() {
  var token = "xxxxxx"; //เปลี่ยน Token
  var webURL = "https://www.majorcineplex.com/";
  var response = UrlFetchApp.fetch(webURL);
  var $ = Cheerio.load(response.getContentText());
  var msg = "";
  var count = 1;
  var movie = 40; //จำนวนเรื่อง
  var apikey = "d6oYI2gRIW0aF3mamtTwZ0bZqkIbw41HiDQNwMSyr";
  for (i = 1; i <= movie; i++) {
    var cinema_name = $(".mlbc-name").eq(i).text().trim().slice(0, 30);
    msg += count + "." + cinema_name + "\n"
    count++
  }
   WebScreenToLine.movies(msg, token, apikey)
}

เมื่อ copy เรียบร้อยแล้ว ให้เพื่อน ๆ นำ token line มาใส่ ส่วนจำนวนรายชื่อภาพยนต์นั้น เพื่อน ๆ สามารถใส่ตัวเลขได้เลยว่าอยากดึงมากี่รายชื่อที่ ตัวแปล movie

ตัวอย่างผลลัพธ์

Print Friendly, PDF & Email