すべての記事

なぜウェブスクレイパーは壊れ続けるのか(そしてその対策)

収集したデータの分析よりも、ウェブスクレイパーの修正に多くの時間を費やしていませんか?あなただけではありません。なぜ難易度が上がり続けているのか、そして実際に何が有効なのかを解説します。

メンテナンスの罠

独自のウェブスクレイパーを構築するすべてのエンジニアリングチームが、同じサイクルを経験します。

  1. 1週目: スクレイパーを構築する。美しく動作する。
  2. 4週目: 対象サイトがレイアウトを更新する。セレクターを修正する。
  3. 8週目: 新しいアンチボットシステムが導入される。proxyローテーションを追加する。
  4. 12週目: CAPTCHAが表示される。解決サービスを統合する。
  5. 16週目: 成功率が60%に低下する。リトライロジック、遅延、フィンガープリントの偽装を追加する。
  6. 20週目: スクレイパーの複雑さが、それが提供するアプリケーションの10倍になる。

聞き覚えはありませんか?

本当のコスト

独自のスクレイピングインフラを運用している50社を調査したところ、以下のことが分かりました。

  • 平均メンテナンス時間: 2〜3人のエンジニアチームで週15〜25時間
  • 破壊的変更の修正にかかる平均時間: 4〜8時間
  • 6ヶ月間の成功率の低下: 継続的な投資がない場合、20〜40%
  • 機会損失: それらのエンジニアは、代わりにプロダクトの機能を構築できたはずである

スクレイパーはプロダクトではありません。データこそがプロダクトです。しかし、どういうわけか、スクレイパーがエンジニアリング予算の大部分を消費することになってしまいます。

ウェブデータへの3つのアプローチ

1. 自社で構築する

完全なコントロール、完全な責任。安定したターゲットを対象とした小規模(1日あたり100ページ未満)では非常にうまく機能します。スケールするにつれて急速にコストが高くなります。

2. マネージドプラットフォームを使用する

FourAのようなサービスが、インフラ(proxy、ブラウザ、アンチボット回避、リトライロジック)を処理します。必要なデータを指定するだけです。運用のオーバーヘッドなしで信頼性の高いデータを必要とするチームに最適です。

3. 構築済みのデータセットを購入する

一部のプロバイダーは、一般的なユースケース(価格設定、レビュー、求人情報)向けに、既製のデータセットを販売しています。すぐに開始できますが、柔軟性に欠け、データが古いことがよくあります。

意思決定を行う

自身に3つの質問を投げかけてみてください。

  1. 必要なターゲット数はいくつか? 10未満の安定したサイトであれば、DIYが機能する可能性があります。50を超える場合は?プラットフォームを使用してください。
  2. データの新鮮さはどの程度重要か? 数分以内にデータが必要な場合は、信頼性の高いインフラが必要です。古いデータセットでは役に立ちません。
  3. エンジニアリングチームの時間の価値はいくらか? メンテナンス時間にエンジニアリングコストを掛け合わせてください。それがDIYの本当の価格です。

ほとんどのチームにおける損益分岐点は、約20〜30のターゲットサイトです。それを超えると、マネージドプラットフォームの経済性に異論を挟むのは困難です。もしあなたのチームが数ヶ月前にその基準を超えており、未だに毎週月曜日の朝にスクレイパーのパッチ当てを行っているなら、もう一度計算し直す時期かもしれません。