• เฟรมเวิร์กเว็บสแครปปิงประสิทธิภาพสูงที่นำ สถาปัตยกรรมของ Python Scrapy มาสร้างแบบเนทีฟใหม่ โดยใช้ประสิทธิภาพของภาษา Go
  • ใช้คำสั่ง goscrapy startproject เพียงบรรทัดเดียวเพื่อทำ scaffolding อัตโนมัติ ตั้งแต่โครงสร้างโปรเจกต์ การเริ่มต้น Go module ไปจนถึงการจัดการ dependency
  • การสแครปแบบขนานปริมาณงานสูง บนพื้นฐานโมเดล concurrency ของ Go โดยเฟรมเวิร์กจัดการการ retry, การจัดการคุกกี้ และการควบคุม concurrency ให้อัตโนมัติ
  • รีทรายอัตโนมัติพร้อมใช้ exponential back-off เมื่อเกิดความล้มเหลว
  • สถาปัตยกรรมการไหลของข้อมูลที่ชัดเจนตั้งแต่ Spider → Engine → Scheduler → Worker → Middleware → HTTP Client
    • Spider ส่งคำขอไปยัง Engine และ Engine จะทำการจัดตารางผ่าน Scheduler
    • Scheduler จัดหา worker ที่พร้อมใช้งานจาก Worker Queue แล้วส่งงานไปยัง Worker
    • Worker เรียกใช้ Executor และ Executor จะส่งคำขอไปยัง HTTP Client ผ่าน Middlewares
    • การตอบกลับจะถูกส่งย้อนกลับตามลำดับ Middlewares → Executor → callback ของ Spider
    • เมื่อ Spider ทำการ yield เรคคอร์ด 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 โฟกัสเฉพาะตรรกะการพาร์ส ทำให้โครงสร้างสะอาด
  • มีตัวอย่างใช้งานจริง เช่น Google Maps scraper, Fingerprint Spoofing (หลบเลี่ยงการตรวจจับบอต), การมอนิเตอร์แบบเรียลไทม์ด้วย TUI
  • ขณะนี้ยังอยู่ในช่วงพัฒนา v0.x และกำลังปรับปรุง Core API อย่างต่อเนื่องเพื่อมุ่งสู่ v1.0 ที่เสถียร
  • Business Source License (BSL) : ใช้ในผลิตภัณฑ์เชิงพาณิชย์ได้อย่างอิสระ แต่มีข้อจำกัดในการนำตัวเฟรมเวิร์กเองไปขายต่อเป็นบริการแข่งขัน

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

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