เลิกขูดรีดเว็บธุรกิจ! นักพัฒนาสร้างเซิร์ฟเวอร์ MCP จากข้อมูลทะเบียนบริษัทโรมาเนีย
เบื่อกับการโดนบล็อกและเว็บเปลี่ยนเลย์เอาต์ นักพัฒนาหันมาใช้ข้อมูลเปิดภาครัฐ 4.2 ล้านบริษัท สร้าง MCP Server สำหรับ AI Agent

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- เลิกใช้วิธี Web Scraping แบบเดิมที่มักติดระบบป้องกันและเลย์เอาต์พัง
- ดึงข้อมูลจากทะเบียนบริษัทโรมาเนีย 4.2 ล้านแห่งที่เป็น Open Data แบบรายเดือน
- พัฒนา FastMCP Server บนโฮมแล็บเพื่อเชื่อมต่อข้อมูลให้ AI Agent ใช้งานจริง
- เปิดตัวเครื่องมือ 3 แบบ ค้นหาข้อมูลบริษัท, ดึงช่องทางติดต่อ และตรวจสอบความถูกต้องโดเมน
ในอดีตการสร้างเครื่องมือรวบรวมรายชื่อธุรกิจ B2B มักใช้วิธีการทำ Web Scraping จากไดเรกทอรีต่างๆ ซึ่งต้องคอยต่อสู้กับระบบป้องกันบอท คอยแก้โค้ดเมื่อเว็บไซต์เปลี่ยนโครงสร้าง และต้องมาลุ้นว่าข้อมูลนั้นยังเป็นปัจจุบันอยู่หรือไม่ จนกระทั่งค้นพบว่ารัฐบาลโรมาเนียเผยแพร่ชุดข้อมูลทะเบียนบริษัททั้งหมดในรูปแบบข้อมูลเปิด (Open Data) ที่มีจำนวนถึง 4.2 ล้านบริษัท อัปเดตข้อมูลทุกเดือน ทั้งสถานะทางกฎหมาย รหัสกิจกรรม และรายชื่อผู้บริหาร โดยไม่ต้องทำการขูดรีดข้อมูลจากหน้าเว็บแต่อย่างใด
บทความนี้จึงเป็นเรื่องราวของการเปลี่ยนแปลงครั้งใหญ่ โดยเปลี่ยนชุดข้อมูลภาครัฐที่เปิดให้ดาวน์โหลด มาสู่การทำโฮสต์ MCP Server ด้วยตัวเอง พร้อมเครื่องมือ 3 ชนิดที่ทำงานได้จริงสำหรับ AI Agent หากนักพัฒนาต้องการรวบรวมรายชื่อบริษัทในโรมาเนีย เช่น บริษัทประเภท SRL ในเมืองกลูช ที่มีรหัส CAEN สำหรับบริการซอฟต์แวร์ การเข้าถึงข้อมูลภาครัฐผ่านโปรแกรม Open Data จะเผยแพร่ข้อมูลในรูปแบบไฟล์ CSV รายเดือน
ข้อดีคือโครงสร้างข้อมูลมีความสมบูรณ์ ได้รับอนุญาตให้นำกลับมาใช้ใหม่โดยไม่มีการล็อกอิน ไม่มี API Key ไม่มีข้อจำกัดอัตราการเรียกใช้งาน และไม่มีระบบป้องกันบอท ความเปราะบางของระบบหายไปเพราะรัฐบาลเป็นผู้ดูแลรักษาแหล่งข้อมูลให้สดใหม่ นักพัฒนาเพียงแค่ดาวน์โหลดไฟล์สแนปชอตประจำเดือนเท่านั้น อย่างไรก็ตาม ความท้าทายคือข้อมูลเปิดไม่ได้หมายถึงข้อมูลที่สะอาด ไฟล์ CSV เหล่านี้มีขนาดใหญ่มาก เฉพาะไฟล์ข้อมูลบริษัทมีขนาดประมาณ 690 เมกะไบต์ ใช้เครื่องหมาย ^ เป็นตัวคั่น มีรหัส BOM การเข้ารหัสอักษรพิเศษภาษาโรมาเนีย และเก็บสถานะกับกิจกรรมเป็นรหัสที่ต้องใช้ตารางอ้างอิง (Nomenclator) มาประกอบ ซึ่งนี่คือเนื้องานวิศวกรรมที่แท้จริง

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
การเปลี่ยนผ่านจากการทำ Web Scraping มาสู่การใช้ Open Data ภาครัฐถือเป็นแนวทางที่ยั่งยืนและมีเสถียรภาพสูงมากในงานด้านวิศวกรรมข้อมูล โดยเฉพาะเมื่อใช้งานร่วมกับมาตรฐาน Model Context Protocol (MCP) ที่ช่วยให้ AI สามารถเรียกใช้เครื่องมือภายนอกได้อย่างปลอดภัย แนวทางนี้ไม่เพียงลดภาระการซ่อมแซมโค้ดจากเว็บที่เปลี่ยนหน้าตา แต่ยังช่วยให้ชุดข้อมูลมีความน่าเชื่อถือสูงเนื่องจากอ้างอิงจากฐานข้อมูลระดับประเทศโดยตรง
รูปแบบที่พัฒนาขึ้นนี้สามารถนำไปใช้กับพอร์ทัลรัฐบาลที่ขับเคลื่อนด้วยระบบ CKAN ที่ใดก็ได้ โดยสถาปัตยกรรมทั้งหมดอยู่ในแพ็กเกจ Python ขนาดเล็ก ประกอบด้วยสคริปต์โหลดข้อมูล สคริปต์โหลดตารางอ้างอิง และเซิร์ฟเวอร์ FastMCP ที่รันแบบ Streamable HTTP บนกล่องโฮมแล็บ พร้อมเปิดใช้งานเครื่องมือ 3 ประเภทหลัก ดังนี้:
- search_companies: ค้นหาด้วยชื่อหรือหมายเลขภาษี CUI ตัวเลขจะวิ่งตรงไปยังดัชนี CUI ส่วนข้อความอื่นจะเป็นการค้นหาแบบไม่สนตัวพิมพ์เล็กใหญ่ในชื่อบริษัท พร้อมเชื่อมโยงรหัส CAEN ผู้บริหาร และสถานะ
- extract_contacts: ค้นหาช่องทางติดต่อโดยการรวบรวมข้อมูลจากเว็บไซต์บริษัท (จำกัดจำนวนหน้า เน้นหน้าติดต่อ/เกี่ยวกับเรา) พร้อมกรองอีเมลขยะและตรวจสอบโดเมน
- validate_domain: ตรวจสอบความถูกต้องของโดเมนและอีเมลผ่าน WHOIS, DNS และ SPF/DMARC ก่อนที่เอเจนต์จะนำไปใช้งาน
"Honest limitations: corporate homepages often carry no public email... and obfuscated emails need decoders."
ผู้พัฒนาโปรเจกต์
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น