メインコンテンツにスキップ

Indeed から求人情報をスクレイピング

10か月以上前に更新

こちらは最新バージョンの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,'の詳細')] に変更

  • 仕事内容セクションをクリック:

  • テキスト」または「要素データ」選択

  • 仕事内容のフィールドのXPathを //div[@id="jobDescriptionText"] に変更

  • ループ内のアイテムを収集する」が自動でチェックされている場合は、チェックを外す

  • 実行前に数秒を待機」を3秒に設定


6. タスクを実行 - 欲しいデータを取得

  • 保存」をクリック

  • 右上の「実行」をクリック

  • ローカル収集か、またはクラウド収集を実行

こちらの回答で解決しましたか?