Indeedから求人情報をスクレイピングする
フォローする参考ビデオ:https://www.youtube.com/watch?v=TZKQlzlaW3s&t=23s
このチュートリアルでは、Indeed.comから求人情報をスクレイピングする方法を説明します。Octoparseを使うと、仕事名、会社、給料、説明などの情報を簡単に抽出できます。コーディング必要もないし、URLを入力して抽出タスクを設定するだけで、たくさんの求人情報を無料で入手できます!
indeed.comから求人情報をスクラビングすると、次のことができます。
· より多くの就職チャンスをゲットする
· 業界の長所と短所を分析する
· 仕事の説明を分析して自分の能力を高める
...
jp.indeed.comにキーワードに「エンジニア」、 勤務地に「東京」を入力して検索して以下のURLを得ました。
https://jp.indeed.com/jobs?q=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2&l=%E6%9D%B1%E4%BA%AC
本記事ではこのURLを利用して2つのタスクを組み合わせる、具体的な求人情報を抽出する手順を紹介します。
(一部のサイトはHTML構造の原因で、2つのタスクを組み合わせて対応しなければいけない場合があります。情報ページは普通右側に展示されていますよね。実は、たまに右側ではなく、違うタブでリンク先に飛んでいく時もあります。)
以下は本チュートリアルの主な内容です。[タスクファイルをダウンロードする ]
タスク1:検索結果ページからリストとなるURLを抽出する
1) 「Webページを開く」 - 内蔵ブラウザで対象のWebページを開く
2) ページ遷移のループを作る - 「次へ」ボタンをループクリックする
3)「ループアイテム」を作る - 抽出したいデータをループに入れる
タスク2:求人詳細情報を抽出する
タスク1:検索結果ページからリストとなるURLを抽出する
タスク1は単に検索ページから各求人詳細情報ページに渡れるページのURLを抽出しますので、複雑な作業にはなりません。
- 「カスタマイズモード」を選択し、タスクを作ります。
- 検索結果のURLを入力して「URLを保存する」をクリックします。
2) ページ遷移のループを作る - 「次へ」ボタンをループクリックする
- スクロールして「次へ」ボタンをクリックします。
- 設定画面の右側の下にある「操作ヒント」の「単一要素をループクリックする」を選択します。
- 「ページネーション」のXPATHを直します。
Octoparseは自動的に「ページネーション」オプションで「次へ」ボタンの位置を指定する構文のXPATHが生成されます。しかし、Octoparseで自動生成されたXPATHは器用しなくなる時がありますので、タスク実行が順調にページに渡るために、XPATHを変更する必要があります。
まずはFirefoxブラウザでFirepath / Firebug拡張機能から正しいXPathを見つけます。
正しいXPathは//span[contains(text(),"次へ")]/../..
それから、正しいXPathを「高級オプション」の「単一要素」の入力ボックスに貼り付けます。
ヒント!
|
現在、内蔵ブラウザでは2ページ目に移行しましたので、1ページ目に戻ってループアイテムを作ります。
- 「Webページを開く」と「ページネーション」を順番にクリックし、1ページ目に戻ります。
- 1番目と2番目のタイトルをクリックすると、同じ構造となっている残りのタイトルが識別されます。
- 「操作ヒント」の「選択された要素のURLを抽出する」をクリックします。
Octoparseは選択された全てのタイトルのURLを自動的に選択します。選択したリンクは緑色で表示され、ループアイテムが生成された後に赤色に変わります。Octoparseはこの「ループアイテム」にある内容の全てを抽出できます。
- 必要に応じて、フィールド名を編集します。
- 最後に「保存」と「抽出開始」を順番にクリックしてタスクを実行します。

タスク2:求人詳細情報を抽出する
タスク2はタスク1で取得されたURLをインポートして、具体的な情報を抽出します。
1) URLを一括インポートする-各求人詳細情報ページを開く
タスク1をクラウド抽出で各求人詳細情報ページのURLを取得することができました。タスク2を作成しましょう。
- カスタマイズモードで新しいタスクを作成します。
- 「URLを入力する」で「タスクからインポートする」モードを選択し、URL入力画面でタスク1を選択します。
- 「URLを保存する」をクリックします。
2)データを抽出する-抽出したいデータを選択する
ループ内にある各求人情報詳細ページを開いてみれば、ページにある情報量がみなそれぞれなんです。すべてのデータを抽出したいですので、情報量の一番多いページからデータを選択しなければならないです。
- 情報量の一番多いページを開きます。
- 必要なデータを選択します。
- 「操作ヒント」で「選択した要素のテキストを抽出する」をクリックします。
- 必要に応じて、フィールド名を編集します。
3) タスクを始める - データを取得する
- 最後に「保存」と「抽出開始」を順番にクリックしてタスクを実行します。
この記事は役に立ちましたか?もしご不明な点がございましたら、いつでもお問い合わせください!
From: https://www.octoparse.jp/tutorial/scrape-job-information-from-indeed/