GoScrapy - เฟรมเวิร์กเว็บสแครปความเร็วสูงพิเศษบนพื้นฐาน Go
(github.com/tech-engine)- เฟรมเวิร์กเว็บสแครปประสิทธิภาพสูงที่นำ สถาปัตยกรรมของ 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) : ใช้งานในผลิตภัณฑ์เชิงพาณิชย์ได้อย่างอิสระ แต่มีข้อจำกัดในการนำตัวเฟรมเวิร์กเองไปขายต่อเป็นบริการที่แข่งขันกัน
ยังไม่มีความคิดเห็น