32 ポイント 投稿者 xguru 5 일 전 | まだコメントはありません。 | 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) : 商用製品で自由に利用できるが、フレームワーク自体を競合サービスとして再販することは制限される

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

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