• เฟรมเวิร์กเว็บสแครปประสิทธิภาพสูงที่นำ สถาปัตยกรรมของ Python Scrapy มาสร้างแบบเนทีฟโดยใช้ประสิทธิภาพของภาษา Go
  • เพียงคำสั่งเดียว goscrapy startproject ก็ทำ scaffolding อัตโนมัติ ให้ตั้งแต่โครงสร้างโปรเจกต์ การเริ่มต้น Go module ไปจนถึงการจัดการ dependency
  • การสแครปแบบขนานที่มี throughput สูง บนพื้นฐานโมเดล concurrency ของ Go โดยตัวเฟรมเวิร์กจะจัดการการ retry, การจัดการคุกกี้ และการประมวลผลพร้อมกันให้อัตโนมัติ
  • รองรับการ retry อัตโนมัติพร้อมใช้ exponential back-off เมื่อเกิดความล้มเหลว
  • สถาปัตยกรรม data flow ที่ชัดเจน ตั้งแต่ Spider → Engine → Scheduler → Worker → Middleware → HTTP Client
    • Spider ส่งคำขอไปยัง Engine และ Engine จะทำการจัดตารางผ่าน Scheduler
    • Scheduler จะจัดหา worker ที่พร้อมใช้งานจาก Worker Queue แล้วส่งงานต่อไปยัง Worker
    • Worker จะ trigger Executor และ Executor จะส่งคำขอไปยัง HTTP Client ผ่าน Middlewares
    • คำตอบจะถูกส่งกลับในลำดับย้อนกลับผ่าน Middlewares → Executor → callback ของ Spider
    • เมื่อ Spider ทำการ yield record, Engine จะส่งออกข้อมูลไปยัง DB, CSV, ไฟล์ ฯลฯ ผ่าน PipelineManager
  • มี export pipeline หลากหลายแบบในตัว เช่น CSV, JSON, MongoDB, Google Sheets, Firebase
  • มี built-in middleware เช่น Azure TLS และ Dupefilter พร้อมการออกแบบที่สามารถเปลี่ยนหรือขยายได้แทบทุกเลเยอร์
  • รองรับการแยกวิเคราะห์ HTML อย่างยืดหยุ่นด้วย CSS/XPath selector ที่สามารถ chaining ได้
  • ตั้งค่า middleware และ pipeline แบบ รวมศูนย์ ใน settings.go ทำให้ spider.go โฟกัสเฉพาะ logic การ parsing ได้อย่างสะอาด
  • มีตัวอย่างใช้งานจริง เช่น Google Maps scraper, Fingerprint Spoofing (หลบเลี่ยงการตรวจจับบอต), การมอนิเตอร์แบบเรียลไทม์ผ่าน TUI
  • ปัจจุบันยังอยู่ใน ระยะพัฒนา v0.x และกำลังปรับปรุง Core API อย่างต่อเนื่องเพื่อมุ่งสู่ v1.0 ที่เสถียร
  • Business Source License (BSL) : ใช้งานในผลิตภัณฑ์เชิงพาณิชย์ได้อย่างอิสระ แต่มีข้อจำกัดในการนำตัวเฟรมเวิร์กเองไปขายต่อเป็นบริการที่แข่งขันกัน

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น