Webスクレイプを作成するには、次のタブに広がる5種類の情報を指定する必要があります。
以下のすべての機能を使用して、[スクレイプオプション]タブでWebスクレイプをカスタマイズできます。
スクレープ名 スクレイプの名前。
リンクをたどる スクレーパーがリンクをたどる方法に関する次のオプションを提供します。
Robots.txtファイルを無視 設定されている場合、スクレイパーは通常、Webサイトの所有者によるクロールから除外されているWebページにアクセスできます。
ファイルのダウンロードを無視 一度リンクを設定すると、アクセス時にファイルのダウンロードが発生しますが、ダウンロードされません。
重複を無視 設定すると、設定した類似度以上のページが無視されます。たとえば、95%が同じページは無視できます。
制限スクレープ Webスクレイパーが停止するまでにスクレイピングするページ数を指定できます。
私のタイムゾーンを使用 設定されている場合、Webスクレイパーは、スクレイピングする日付を変換しようとすることを示します intoローカルタイムゾーン。 タイムゾーンはアカウントページで設定できます。
会場 Web Scraperがスクレイプを実行する地理的位置。 これは、ターゲットWebサイトに場所に基づく制限がある場合に便利です。
デフォルトの日付形式 日付形式を決定できない日付を変換する場合、Web Scraperは代わりにこの選択された形式にデフォルト設定します。
ページ読み込み遅延 これは、Web Scraperがページを解析する前に待機するミリ秒単位の時間です。 これは、ページに多くのAJAXが含まれているか、ロードが遅い場合に非常に便利です。
[ターゲットWebサイト]タブで、データを抽出するWebサイトを指定します。 スクレイプツールにWebサイトからデータを抽出するように指示するには、まずメインのURLを指定する必要があります int例えばに夢中 http://www.example.com/shop/
これは、スクレイパーがスクレイプを開始する場所であり、通常のWebページ、PDFドキュメント、XMLドキュメント、JSONドキュメント、RSSフィード、またはサイトマップです。 WebページまたはPDFドキュメントではない場合、スクレイパーはファイル内のすべてのリンクを見つけて、それぞれにアクセスします。
ターゲットURLにあるリンクのみをたどり、後続のページをたどらないようにするには、 リンクをたどる こすりオプション 〜へ 最初のページ。 これは、残りのスクレイプをシードするためにのみターゲットURLを使用します。
デフォルトでは、Webスクレイパーは、アクセスする各Webページで検出したすべてのリンクをたどります。 リンクするものを制限する場合 Webスクレーパー 次に、これを行う簡単な方法の1つは、URLパターンを指定することです。 これは、ワイルドカードとしてアスタリスクを使用してURLを指定し、パターンのこの部分に任意の文字が存在できることを示すことにより機能します。 例えば http://www.example.com/*/articles/*
Webサイトのルートから2番目のディレクトリとして記事があるURLをすべてスクレイピングします。
URLパターンを定義するためのより制限的な方法は、代替を定義することです。 たとえば、この例はストアまたはニュースにのみ一致します。 http://www.example.com//*
したがって、これはこれと一致します http://www.example.com/store/products/1
はなく、 http://www.example.com/about/
シードURLを使用すると、ユーザーはWeb Scraperでクロールする必要があるURLのリストを指定できます。 シードURLのみを取得する場合は、 リンクをたどる こすりオプション 〜へ ページなし [スクレープオプション]タブで。
[ターゲットWebサイト]タブでシードURLを設定するには、[ターゲットの追加]ボタンをクリックし、[シードURLの設定]チェックボックスをオンにして、スクレイプする各URLを個別の行に指定します。
あるいは、テンプレートURLを使用してシードURLを自動的に生成できます。これは、URL変数を含む単一のURLです。 URL変数は、反復される数値の範囲を指定します。
開始番号はURL変数のカウントを開始する番号、終了番号はURL変数のカウントを停止する番号、反復番号はURL変数の反復ごとに増加する番号です。
たとえば、次のテンプレートURLの場合 http://www.example.com/search?pageNo=
これにより、次のシードURLが作成されます。
URLは、ログインフォームなどのPOSTのパラメーターでURLを指定することもできます。 そのためには、[ターゲットURL]テキストボックスにフォームのURLを指定し、使用する必要な投稿パラメーターを追加します。 ポスト変数値には、次のような特別なGrabzIt変数を含めることもできます。
– 2桁の値としての日
– 2桁の値としての月
– 4桁の値としての年
– 2桁の値としての時間
– 2桁の値としての分
– 2桁の値としての秒スクレイピングの手順は、ターゲットWebサイトをスクレイピングするときに実行するアクションをWebスクレイパーに指示します。 [スクレープ手順]タブには、デフォルトでスクレイプウィザードが表示され、必要なスクレイプ手順を簡単に追加できます。 このウィザードの使用例を以下に示します。 製品リストと詳細スクレイピングチュートリアル.
スクレイピングを開始する準備ができたら、 新しいスクレイプ命令を追加 リンクをクリックします。
これによりウィザードが開き、ターゲットURLが自動的にロードされるため、スクレイピングするものをすぐに選択できます。 WebページまたはPDFドキュメントが読み込まれている場合、任意のリンクをクリックすると、たとえば別のWebページへのナビゲーションなど、通常どおりに動作します。 画面の下部にあるこのpoで、いずれかのアクションを選択するまでint コンテンツをクリックすると、抽出または操作するHTML要素が選択されます。
スクレイプ命令について最初に理解することは、デフォルトですべてのWebページで実行されることです。 これを止める方法は、テンプレートを使用することです。 リンクをクリックするなどのアクションを実行するときにテンプレートを割り当てることができるため、スクレイパーがそのリンクにアクセスするか、そのボタンをクリックするたびに、割り当てられたテンプレートに属していることが認識されます。 これにより、さまざまなページタイプを定義できます。 たとえば、いくつかの概要情報を含む製品カテゴリページがあり、次に製品情報を含む詳細ページがあるとします。 おそらく両方のページに、異なるスクレイプ指示のセットが必要です。
開始するには、 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 アクションを実行し、アクションを実行するアイテムを選択して、 次へ ボタンにテンプレートの名前を入力します テンプレートを作成する スクレーパーがこれらのアクションを実行するたびにテキストボックスが表示され、返されるテンプレートは指定した名前になります。
次に、特定のテンプレートをスクレイプ指示に割り当てるには、目的のテンプレートを選択する必要があります 実行する スクレイプ指示が追加される直前に表示されるオプションウィンドウに表示されるドロップダウンリスト。 テンプレートを選択するときの3つの主なオプションは次のとおりです。
これらのオプションのいずれかを選択すると、指定されたテンプレートでのみスクレイプ命令が実行されます。
を選択すると、 データを抽出 アクション。 画面の左下隅では、上のウィンドウでHTML要素を選択するか、グローバルページプロパティを選択するように求められます。
グローバルページプロパティを使用するには、 グローバルページプロパティ リンク。 次に、続行することを確認します。 これで、ページから直接抽出できるプロパティのリストが表示されます。 例:ページタイトル。
いずれかを選択するには、オプションのリストから選択してクリックするだけです 次へ データを追加する データセット.
関連するHTML要素をクリックする必要があるページ全体に属するのではなく、特定のHTML要素のデータを抽出する場合は、単一または複数のアイテムを選択できます。 ただし、複数のアイテムを選択する場合は、列の複数行など、同じ複数のアイテムを選択してみてください。選択したデータのコレクションを一意に識別できるルールをスクレイパーが作成できない場合、スクレイプ指示は実行されません。作成することができます。 さらに、クリックしている複数のアイテムがWebスクレイパーウィザードによって繰り返しデータとして識別されている場合、同じグループ内のすべての繰り返しデータが自動的に選択されます。 単一または複数のアイテムをすべて選択したら、画面の左下から抽出する属性を選択して、クリックします 次へ.
データセット画面では、データの処理方法を変更できます。たとえば、データセットとその中の列の名前を変更できます。名前をクリックして名前を変更します。 データセットに列を追加するときは、実行するテンプレートも選択する必要があります。列名の下にあるドロップダウンリストをクリックして、これを変更できます。
多くの場合、データを抽出するとき、いくつかの繰り返しアイテムが一貫性なく繰り返されることがよくあります。 リンク列 一貫性のない列をデータセット内の最も一貫性のある列にリンクするための基準。
データセットにさらにデータを追加するには、をクリックします ボタン、またはクリック
データセットからデータを削除する、または
データセット全体を削除します。 データセットでは、さまざまな基準をデータに適用することもできます。これを行うには、上部から目的のアクションを選択し、関連する列をクリックして基準を適用します。 条件の追加を間違えた場合は、
ボタン。
さまざまな基準タイプのリストとそれらの使用方法を以下に示します。
上記の操作のいずれかを選択すると、複数の列に影響を与える可能性がある場合、列のサブセットまたはすべての列のみに影響を許可するかどうかを尋ねられます。 ほとんどの場合、すべての列に影響を与える必要がありますが、状況によっては、影響を受ける列を制限すると便利です。 たとえば、一連の ラベルと値、すべてのラベルと値を選択できるWebページ間で位置を変更します。 次に、データセットでequals操作を使用して目的のラベルに制限し、ラベルと値の列のみが影響を受けるように指定します。 これにより、他の列が削除される行の影響を受けないことが保証されます。完全を期すために、ラベル列を非表示にすると便利です。
必要なものをすべて変更したら、クリックします 次へ そして、スクレイプの指示がスクレイプに追加されます。 その後、必要に応じて、さらにスクレイプ命令を追加するオプションがあります。
Webページは、クリックして入力し、ドロップダウンから値を選択することにより、スクレイピングされる前に操作できます。 これにより、新しいWebページが読み込まれる可能性がありますが、適用可能なすべてのスクレイプ命令が実行されるまで、スクレイプ命令は再起動されないことに注意してください。
ウェブページを操作するには、次のいずれかを選択します 要素をクリック, ホバー要素, スクロール, テキストを入力 or ドロップダウンリストの値を選択 行動。 クリックアクションを実行している場合、Webページ上の任意の数の要素をクリックできます。 それ以外の場合は、適切なHTML要素を選択する必要があります。たとえば、テキストボックスにテキストを入力する必要があります。 次にクリック 次へ。 これにより、アクションを完了するためのオプションボックスが開きます。 テキストを入力してドロップダウンから選択する場合、入力または選択するデータをそれぞれ選択する必要があります。 それ以外は、オプションは3つすべてのアクションで同じです。
希望する場合は、クリックアクションが完了したら、このアクションを実行するテンプレートを選択し、クリックアクションに対して適用するテンプレートを選択できます。 ただし、同じページで複数のクリックを実行するクリックアクションに新しいテンプレートを割り当てることは、インラインポップアップを開いたり、画面に表示したりするなど、良いアイデアではありません。 これは、クリックアクションが特定のテンプレートでのみ実行される場合、最初のクリックで割り当てられた新しいテンプレートはリセットされないため、スクレイプの記述方法によっては、実行中の同じページでの今後のクリックが停止する可能性があるためです。 このアクションを一度だけ実行するかどうかを定義することもできます。これは、ログインなどの操作を行う場合に便利です intウェブサイト。
テキストの入力アクションまたはドロップダウンリスト値の選択アクションを使用すると、それぞれ複数のテキスト項目を入力したり、複数の選択ボックスを選択したりできます。 これらは、スクレイプ手順をクリックして編集できます 変数の変更または表示 左のスクリーンショットに示すように、ボタン。
これは、たとえば検索ボックスに名前のリストを入力する場合に重要です。 検索ボックスに値がある場合にのみフォームが送信されるようにするには、テキストが正常に入力されるたびにテンプレートを設定できます intoこのテンプレートが設定されていない限り、テキストボックスとボタンのクリックアクションは実行されません。 クリックアクションを実行した後、プロシージャをリセットするには、テンプレートを別のものに変更する必要があります。
Webサイトを操作するアクションが実行された後、アクションがAJAX機能を開始するまでしばらく待ってから、スクレイプを続行する前にAJAXコンテンツをロードできると便利です。 これを行うには、遅延を追加します 実行待機後 テキストボックス。
何らかの条件が満たされたら、別のURLに直接ジャンプできます。 これを行うには、 URLに移動 少なくとも1つのテンプレートがスクレイプで定義されており、作成時にテンプレートに割り当てる必要がある場合にのみ表示されるアクションは、無限ループを回避するのに役立ちます。
最後に、WebスクレイプでGrabzItのすべてのキャプチャAPIを使用し、[Webページのキャプチャ]アクションを選択して、目的のキャプチャを選択できます。 これを制限して、スクレイプ内の特定のWebページをキャプチャすることができます。 次へ ボタン。
すべてのスクレイプ指示が追加された後、それはスクレイプ指示パネルに表示されます。各スクレイプ指示の横にある十字は、スクレイプ指示を削除できます。 他のスクレイプ指示に必要なスクレイプ指示が削除されると、それらの指示も削除されます。 スクレイプ指示の順序を変更するには、グラブアイコンでスクレイプ指示をドラッグします。
より具体的な方法でスクレイプ手順をカスタマイズする必要がある場合は、スクレイプ手順を手動で変更する必要があります。
スクレイプ命令はJavaScriptベースであり、コードエディターには構文チェッカー、オートコンプリート、ツールチップが付属しており、できる限り簡単になります。
スクリーンショットに示すように、コードエディターのコア機能にはメニューオプションからアクセスできます。それぞれの目的については、以下で個別に説明します。 スクレイプ命令の構文エラーは、コードエディターの左側の溝に表示されます。
ウィザードを使用すると、抽出するページの一部を選択し、Webキャプチャの作成などの他の一般的なタスクを実行できます。
スクレイプ指示コードをユーザーに表示します。
すべてのスクレイプ指示を削除します。
Pageキーワードを入力します intoスクレイプの手順とオートコンプリートを開きます。 ページ機能。 ページ関数を使用すると、Webページからデータを抽出できます。
Dataキーワードを入力します intoスクレイプの説明。 データ関数 あなたを許可する save 情報を表示します。
ナビゲーションキーワードを入力します intoコードエディター。 の ナビゲーション機能 WebスクレイパーがターゲットWebサイトをナビゲートする方法を制御できます。
Globalキーワードを入力します intoスクレイプの説明。 これにより、 機能 異なるWebページの解析間でデータを保存できます。 スクレイプ命令を記述する場合、スクレイパーがWebページ間を移動するときに、グローバル関数を使用してスクレイパー命令のJavaScript変数の状態が保持されないことを覚えておくことが重要です。 save 以下に示す変数。
Global.set("myvariable", "hello"); var mrvar = Global.get("myvariable");
永続的なグローバル変数を作成するには、以下に示すように、Global.setメソッドのpersistパラメーターにtrueを渡します。
Global.set("myvariable", "hello", true);
ユーティリティキーワードを入力します intoスクレイプの説明。 これにより、使用することができます 一般的な機能 クエリの追加や削除など、スクレイプの作成を容易にしますstring URLからのパラメーター。
Criteriaキーワードを入力します intoスクレイプの説明。 これら 機能 重複を排除するなど、スクレイピング中に抽出されたデータを調整できます。
フィルタを簡単に作成できます。これは、Webページ内から特定のHTML要素を選択するために一部の関数で必要です。 ターゲット要素に必要な属性を選択するか、要素の親がその要素を選択する必要があります。 このオプションをクリックする前に、カーソルが関数内の正しい場所にあり、フィルターも通過することを確認してください。
スクリーンショットオプションを設定できます。 ツールチップで識別されるように、関数の正しい部分にカーソルを置き、スクリーンショットオプションを押します。 次に、必要なオプションをすべて選択して、コマンドを挿入します。
Stringsは、Webスクレイプを実行するときに、テキストを定義するためのスクレイプ指示で使用されます。 A string double("
)または一重引用符('
)。 もし string 二重引用符で始まる場合、二重引用符で終わる必要があります。 string 単一引用符で始まり、単一引用符で終わる必要があります。 例えば:
"my-class"
and 'my-class'
発生する可能性のある一般的なエラーは、閉じられていないことです string エラー、これは string 上記のように閉じ引用符がないか、 string。 以下は違法です strings:
"my
class"
"my class
このエラーを修正するには、次のように改行が含まれておらず、一致する引用符が含まれていることを確認します。
"my class"
and "my class"
一重引用符または二重引用符を string。 これを行う最も簡単な方法は、単一引用符を string 二重引用符と二重引用符で区切られた string 次のように、単一引用符で区切られます。
"Bob's shop"
and '"The best store on the web"'
または、バックスラッシュを使用して、次のように引用符をエスケープできます。
'test\'s'
Web ScraperがPDF、XML、JSON、およびRSSに遭遇すると、それをHTML近似に変換します。これにより、Web Scraperはそれを正しく解析し、抽出するコンテンツを選択できます。 たとえば、JSONデータを解析する場合、データを変換します int横に表示される階層的なHTML表現。 これにより、通常どおりスクレイプ命令を作成できます。
同様に、スクレイパーがPDFドキュメントをロードすると、PDFが変換されます into画像、ハイパーリンク、テキスト、表を選択してスクレイピングできるHTML。 ただし、PDFには実際の構造がないため、テーブルはヒューリスティックを使用して識別されるため、常に正確であるとは限りません。
このタブでは、Excelスプレッドシート、XML、JSON、CSV、SQLコマンド、HTMLドキュメントなど、オプションの結果をエクスポートする方法を選択できます。 さらに、このタブでは、圧縮されたスクレイプ結果の名前を設定できます。 ファイルのダウンロードまたはWebキャプチャの作成のみを行う場合、結果を含むZIPファイルを受信するだけなので、エクスポートオプションを選択する必要はありません。 このタブでは、結果の送信方法を指定することもできます。 結果を送信することができます アマゾンS3, ドロップボックス、 電子メール通知、 FTP and WebDavの.
最後のオプションは、コールバックURLです。これを使用すると、アプリケーションでスクレイプ結果を処理できます。 スクレイプAPI.
zip形式の結果または個別に送信するように要求する場合は各データファイルのファイル名は、[デフォルトのファイル名を使用する]オプションをオフにして、目的のファイル名を設定することで設定できます。 さらに、タイムスタンプを入力することでファイル名に追加できます {GrabzIt_Timestamp_UTC+1}
ファイル名に。 +1は、UTCからの時間単位のオフセットを示します。
スクレイプの結果を表示するには、をクリックしてください。 結果を見る ボタン、横 あなたの擦り傷、これにより、リアルタイムのスクレイプ結果と、過去48時間以内に実行された以前の結果が表示されます。
Webスクレイプを作成する場合、[スケジュールスクレイプ]タブを使用すると、スクレイプを開始するタイミングと、スクレイプを繰り返したい場合は、その頻度を設定できます。
Webスクレイプが開始されると、ステータスアイコンがに変わります 処理されたページは時間とともに増加し始めます。 スクレイパーの進行状況のリアルタイムスナップショットが定期的に作成され、ログファイルとスクレーパーが最後に遭遇したWebページの定期的なスクリーンショットが生成されます。 これにより、スクレイピング中に何が起こっているかを確認できます。 この情報を見つけるには、スクレイプの横にある展開アイコンをクリックしてクリックします ビューアー スクレイプのためにあなたは intこれは、スクレイプの指示に関する問題などのエラーがあった場合に詳述する必要があります。
スクレイプが正常に完了すると、ステータスアイコンが 、ビューアを開いても結果が得られない場合は、ログと最後のスクリーンショットで何が問題だったのかがわかります。
ログで報告される最も一般的な問題の1つは、ページをスクレイピングするのに十分なレンダリング遅延がないことです。多くの場合、 ページ読み込み遅延 にあります スクレープオプション ほとんどのウェブサイトではタブで十分です。