こちらは最新バージョンのOctoparse向けのチュートリアルガイドです。お使いのOctoparseが古いバージョンの場合は、最新バージョンへのアップグレードを強くおすすめします。最新バージョンは高速で、より使いやすく、強力になりました。まだアップグレードしていない場合は、こちらからダウンロードとアップグレードを行ってください。
Indeedは、最も人気のある求人掲示サイトの一つです。Webスクレイピングを使えば、膨大な求人情報の価値を見つけ出すことができます。本チュートリアルでは、Octoparseを使ってIndeed.comから求人情報(職種、会社名、詳細な説明など)をスクレイピングする方法をご紹介します。
始める前に、キーワードと場所を使ってターゲットとする結果ページのURLを取得する必要があります。
以下はデモ用のURLの例です:
最も簡単なスクレイピング方法は、Octoparseスクレイピングツールのメイン画面で「テンプレートタスク」にアクセスし、すぐに使えるIndeedテンプレートから始めることです。これにより時間を節約できます。このテンプレートにURLを入力するだけで、データが出てくるのを待つだけです。詳細については、こちらをご覧ください: テンプレートタスク
タスクを最初から作成する方法を知りたい方は、以下のチュートリアルをご覧ください。
1. 「Webページを開く」アクションを作成 - ターゲットとなるWebページへ移動
ホームページにURLを入力し、[スタート]をクリック
2. ページネーションループの設定 - 複数のリスティングページからデータをスクレイピング
次のページボタン(>)をクリック
操作提案パネルで「ループクリック」を選択
ページネーションがワークフローに作成されます
タイムアウトを10秒に調整
Paginationの動作を正常にするために、XPathを変更する必要があります。
ページネーションをクリック
XPath を //a[@data-testid="pagination-page-next"] に変更
「保存」をクリック
注意: ポップアップが表示された場合は、右上の「ブラウザモード」をオンにして手動でポップアップを閉じ、その後「ブラウザモード」をオフにしてワークフローの作成を続けてください。
3. ループアイテムの作成 - 求人投稿リストをスクレイピング
最初の2つの求人タイトルを選択
「リンク」を選択
これにより、ワークフローにループアイテムが作成されます。
XPathを //div[@id="mosaic-provider-jobcards"]/ul/li に変更
最初の求人カードの求人タイトルをクリック
「テキスト+リンク」を選択して、個々の求人投稿のタイトルとURLを抽出
不要なデータフィールドを削除
4. カスタムフィールドの追加 - 基本的な求人情報を取得
Click on the button Add custom field > Capture data on the page
「フィールドを追加」をクリック -> 「ページからフィールドを追加」
「相対XPath」にチェックを入れます。
XPath を //div[contains(@data-testid,"location")] と入力して会社所在地を抽出
以下の手順を繰り返して、求人タイトル、会社名、給与などのデータを抽出:
タスク設定をより簡単にするために、求人カードにあるデータフィールドのXPathを用意しています。これらをOctoparseにコピペすると時間を節約できます。
求人タイトル: //h2[contains(@class,'jobTitle')]/a/span
会社名: //span[@data-testid="company-name"]
給与: //div[contains(@class,'salary-snippet-container')]
5. 求人タイトルをクリック - 詳細を取得
XPath を //a[contains(@aria-label,'の詳細')] に変更
「新しいタブで開く」のチェックを外す
AJAXタイムアウトを10秒に設定
仕事内容のフィールドのXPathを //div[@id="jobDescriptionText"] に変更
「ループ内のアイテムを収集する」が自動でチェックされている場合は、チェックを外す
「実行前に数秒を待機」を3秒に設定
6. タスクを実行 - 欲しいデータを取得
「保存」をクリック
右上の「実行」をクリック
ローカル収集か、またはクラウド収集を実行