แสนยากร ชัยพิพัฒน์วรกุล
English
ผลงานทั้งหมด

ใช้งานจริง

WebFetcher บริการดึงข้อมูลหน้าเว็บของ FoodLex

service Puppeteer ที่ทำงานร่วมกับ n8n และ FoodLex เป็นโปรเจกต์เดียวกัน ใช้อ่านหน้าเว็บหน่วยงานกฎหมายอาหารที่ต้องรัน JavaScript ก่อนจึงจะเห็นข้อมูล แล้วส่งกลับเป็น JSON

ช่วงเวลา
2026
บทบาท
พัฒนาคนเดียว
ฝ่ายที่ใช้
ฝ่ายวิจัยและพัฒนาผลิตภัณฑ์

ปัญหาเดิม

เว็บหน่วยงานกฎหมายบางแห่งแสดงรายการด้วย JavaScript (เช่น แค็ตตาล็อก Novel Food ของ EU) HTTP Request ธรรมดาใน n8n จึงได้หน้าว่าง และอ่านกฎหมายใหม่จากแหล่งนั้นไม่ได้

สิ่งที่สร้าง

service กลางที่ workflow FoodLexAI ใน n8n เรียกเมื่อเจอเว็บที่ต้องเรนเดอร์ก่อน เปิดหน้าเว็บด้วย headless Chrome รอให้ข้อมูลโหลดครบ อ่านตาราง ข้อความ และลิงก์ แล้วส่ง JSON กลับให้ n8n ส่งต่อเข้า FoodLex

ฟีเจอร์หลัก

  • endpoint เดียว POST /api/scrape รับ URL แล้วคืน JSON
  • อ่านตารางในหน้าเว็บ แล้วจับคู่หัวคอลัมน์กับแต่ละแถวให้อัตโนมัติ
  • ไม่มีตารางก็คืนข้อความในหน้า และเก็บลิงก์ทั้งหมดในหน้าให้ด้วย
  • รอข้อมูลที่โหลดทีหลังก่อนอ่าน (network idle, รอ selector แล้วรออีกช่วง)
  • ให้ workflow ใน n8n ใช้ร่วมกัน ไม่ต้องเขียนตัวดึงข้อมูลแยกในแต่ละ workflow

เบื้องหลังทางเทคนิค

  • ใช้ Chrome ของระบบใน Docker พร้อมฟอนต์ไทยและ CJK เพื่อให้หน้าเว็บไทย จีน ญี่ปุ่น แสดงผลถูกต้อง
  • ตั้ง Accept-Language เป็นไทยก่อน ใช้ user agent แบบเดสก์ท็อป และปิดเบราว์เซอร์ใน finally เสมอเพื่อไม่ให้ค้างกินหน่วยความจำ

ระบบที่เกี่ยวข้อง