GoScrapy - Goベースの超高速Webスクレイピングフレームワーク
(github.com/tech-engine)- Python ScrapyのアーキテクチャをGo言語の性能を活用してネイティブ実装した高性能Webスクレイピングフレームワーク
goscrapy startprojectコマンド1行で、プロジェクト構造、Goモジュール初期化、依存関係解決まで 自動スキャフォールディング- Goの並行性モデルに基づく 高スループット並列スクレイピング。リトライ・Cookie管理・並行処理をフレームワークが自動管理
- 失敗時には 指数バックオフ(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) : 商用製品で自由に利用できるが、フレームワーク自体を競合サービスとして再販することは制限される
まだコメントはありません。