GoScrapy - Framework scraping web siêu tốc dựa trên Go
(github.com/tech-engine)- Framework scraping web hiệu năng cao, hiện thực native kiến trúc của Python Scrapy bằng cách tận dụng hiệu năng của ngôn ngữ Go
- Chỉ với một lệnh
goscrapy startproject, có thể tự động scaffold toàn bộ cấu trúc dự án, khởi tạo module Go và xử lý phụ thuộc - Scraping song song thông lượng cao dựa trên mô hình đồng thời của Go; framework tự động quản lý retry, cookie và xử lý đồng thời
- Tự động retry với exponential back-off khi thất bại
- Kiến trúc luồng dữ liệu rõ ràng: Spider → Engine → Scheduler → Worker → Middleware → HTTP Client
- Spider chuyển request tới Engine, và Engine lên lịch trên Scheduler
- Scheduler lấy worker khả dụng từ Worker Queue rồi chuyển tác vụ tới Worker
- Worker kích hoạt Executor, và Executor gửi request tới HTTP Client thông qua Middlewares
- Response được trả về theo thứ tự ngược lại: Middlewares → Executor → callback của Spider
- Khi Spider yield record, Engine thực hiện xuất dữ liệu ra DB, CSV, file... thông qua PipelineManager
- Tích hợp sẵn nhiều pipeline xuất dữ liệu như CSV, JSON, MongoDB, Google Sheets, Firebase
- Cung cấp middleware dựng sẵn như Azure TLS, Dupefilter; được thiết kế để có thể thay thế và mở rộng gần như mọi tầng
- Phân tích HTML linh hoạt với CSS/XPath selector có thể chaining
- Cấu trúc gọn gàng: cấu hình middleware và pipeline tập trung trong
settings.go, cònspider.gochỉ tập trung vào logic parsing - Cung cấp các ví dụ thực chiến như Google Maps scraper, Fingerprint Spoofing (vượt phát hiện bot), giám sát thời gian thực bằng TUI
- Hiện đang ở giai đoạn phát triển v0.x, tiếp tục cải tiến Core API hướng tới v1.0 ổn định
- Business Source License (BSL): có thể dùng tự do trong sản phẩm thương mại, nhưng bị hạn chế việc bán lại chính framework dưới dạng dịch vụ cạnh tranh
Chưa có bình luận nào.