Webスクレイパーは単一のものではなく、パイプラインです。Pythonで書いても、ヘッドレスブラウザを自分で制御しても、ノーコードツールでビジュアルに組み立てても、同じ段階が同じ順序で実行されます。この段階を理解しておくと、スクレイパーがどこで壊れるのか、どこで遅くなるのか、どの手法が何を解決するのかが、ずっと見通しやすくなります。Documentation Index
Fetch the complete documentation index at: https://www.octoparse.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
最初の5段階はどのページでも順に実行されます。遷移は次のページのために取得へ戻り、このループ全体が規模を持って実行されます — クラウドで、ローテーティングプロキシの背後で、CAPTCHAを越えて。
ページを取得する
すべてはリクエストから始まります。スクレイパーはURLにHTTPリクエストを送り、レスポンス — 多くはHTML、ときにJSON — を受け取ります。サーバー側で描画されるシンプルなページなら、この1ステップで必要なものがすべて手に入ります。問題は、このレスポンスがサーバーの送る初期ペイロードにすぎないことです。最近の多くのサイトでは、それはほぼ空の入れ物です。ページを描画する
サイトがJavaScriptでコンテンツを構築している場合、欲しいデータは初期HTMLには含まれず、ページのスクリプトが実行された後にはじめて現れます。描画とは、そのスクリプトを実際のブラウザで実行し、完全なコンテンツを実体化させる段階です。ここで使うブラウザ実行環境が、ページの読み込みの忠実さと、メモリ・速度のコストを左右し、JavaScriptで描画されるページのスクレイピングの中核となります。データを特定する
ページが完全に読み込まれたら、スクレイパーは欲しい要素 — 価格、タイトル、テーブルの一行 — を正確に指し示さなければなりません。これはXPathやCSSセレクタで行い、要素がページ構造のどこにあるかを記述します。良いセレクタは、わずかなレイアウト変更に耐えるスクレイパーと、サイト更新のたびに壊れるスクレイパーの分かれ目です。抽出して整える
要素を特定すると、その生のコンテンツが得られます。抽出はそこから値を取り出し、整形はそれをきれいにします。スクレイピングした価格が、数値だけが欲しいのに"$1,299.00 USD" という形で得られることもあります。正規表現と後処理ルールで生のテキストを削り、分割し、再整形して、実際に保存したい構造化フィールドにします。