GoScrapy - framework ultrarrápido de web scraping baseado em Go
(github.com/tech-engine)- Framework de web scraping de alto desempenho que implementa nativamente a arquitetura do Scrapy em Python, aproveitando a performance da linguagem Go
- Com uma única linha de comando,
goscrapy startprojectfaz o scaffolding automático da estrutura do projeto, inicialização do módulo Go e resolução de dependências - Scraping paralelo de alta vazão com base no modelo de concorrência do Go; o framework gerencia automaticamente tentativas, cookies e concorrência
- Repetição automática de tentativas com exponential back-off em caso de falha
- Arquitetura com fluxo de dados claro: Spider → Engine → Scheduler → Worker → Middleware → HTTP Client
- A Spider envia requisições ao Engine, e o Engine faz o agendamento no Scheduler
- O Scheduler garante um worker disponível na Worker Queue e então encaminha a tarefa ao Worker
- O Worker aciona o Executor, e o Executor envia a requisição ao HTTP Client passando pelos Middlewares
- A resposta retorna na ordem inversa: Middlewares → Executor → callback da Spider
- Quando a Spider faz yield de registros, o Engine exporta os dados via PipelineManager para DB, CSV, arquivos etc.
- Pipelines de exportação para CSV, JSON, MongoDB, Google Sheets e Firebase já vêm incluídos por padrão
- Oferece middlewares embutidos como Azure TLS e Dupefilter, com design que permite substituir e estender quase todas as camadas
- Parsing flexível de HTML com seletores CSS/XPath encadeáveis
- Em
settings.go, middlewares e pipelines são configurados centralmente, enquantospider.gofica focado apenas na lógica de parsing - Inclui exemplos práticos como scraper do Google Maps, Fingerprint Spoofing (bypass de detecção de bots) e monitoramento em tempo real via TUI
- Atualmente em fase de desenvolvimento v0.x, com melhorias contínuas na Core API rumo a uma versão v1.0 estável
- Business Source License (BSL): pode ser usado livremente em produtos comerciais, mas há restrição para revender o próprio framework como serviço concorrente
Ainda não há comentários.