# GoScrapy - Go기반 초고속 웹 스크래핑 프레임워크

> Clean Markdown view of GeekNews topic #28862. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28862](https://news.hada.io/topic?id=28862)
- GeekNews Markdown: [https://news.hada.io/topic/28862.md](https://news.hada.io/topic/28862.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-04-25T09:31:02+09:00
- Updated: 2026-04-25T09:31:02+09:00
- Original source: [github.com/tech-engine](https://github.com/tech-engine/goscrapy)
- Points: 4
- Comments: 0

## Topic Body

- Python **Scrapy의 아키텍처**를 Go 언어의 성능을 활용하여 네이티브 구현한 고성능 웹 스크래핑 프레임워크  
- `goscrapy startproject` 명령어 한 줄로 프로젝트 구조, Go 모듈 초기화, 의존성 해결까지 **자동 스캐폴딩**  
- Go의 동시성 모델 기반 **고처리량 병렬 스크래핑**, 재시도·쿠키 관리·동시성 처리를 프레임워크가 자동 관리  
- 실패 시 **지수 백오프(exponential back-off)** 를 적용한 자동 재시도  
- Spider → Engine → Scheduler → Worker → Middleware → HTTP Client로 이어지는 명확한 데이터 흐름 아키텍처  
  - Spider가 요청을 Engine에 전달하고, Engine이 **Scheduler**에 스케줄링  
  - Scheduler가 **Worker Queue**에서 가용 워커를 확보한 뒤 작업을 Worker에 전달  
  - Worker가 **Executor**를 트리거하고, Executor가 Middlewares를 거쳐 HTTP Client로 요청 전송  
  - 응답은 역순으로 Middlewares → Executor → Spider 콜백으로 반환  
  - Spider가 레코드를 yield하면 Engine이 **PipelineManager**를 통해 DB, CSV, 파일 등으로 데이터 내보내기 수행  
- CSV, JSON, **MongoDB, Google Sheets, Firebase** 등 다양한 내보내기 파이프라인을 기본 내장  
- Azure TLS, **Dupefilter** 등 빌트인 미들웨어 제공, 거의 모든 계층을 교체·확장 가능한 설계  
- 체이닝 가능한 **CSS/XPath 셀렉터**로 유연한 HTML 파싱  
- `settings.go`에서 미들웨어와 파이프라인을 **중앙 집중식으로 설정**, `spider.go`는 파싱 로직에만 집중하는 깔끔한 구조  
- Google Maps 스크래퍼, **Fingerprint Spoofing**(봇 탐지 우회), TUI 실시간 모니터링 등 실전 예제 제공  
- 현재 **v0.x 개발 단계**, 안정적인 v1.0을 향해 Core API 지속 개선 중  
- **Business Source License(BSL)** : 상용 제품에 자유롭게 사용 가능하나 프레임워크 자체를 경쟁 서비스로 재판매하는 것은 제한

## Comments



_No public comments on this page._
