34 ポイント 投稿者 xguru 2026-04-25 | まだコメントはありません。 | WhatsAppで共有
  • 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) : 商用製品で自由に利用可能だが、フレームワーク自体を競合サービスとして再販することは制限

まだコメントはありません。

まだコメントはありません。