Indeedから求人情報を取得するjarライブラリを作成しました

まずはじめにIndeedは求人媒体を扱う検索エンジンです。今回、Indeedが提供しているAPIを利用して求人情報を取得する処理をJavaで作成しました。メインのXMLをパースする処理自体は結構前に書いたものになりますが、例外処理をちょこっとだけ追加してjarライブラリ化したものをこの場で公開してみたいと思います。

使用するにはIndeedのパブリッシャーアカウントの取得が必要となります。
パブリッシャーアカウントを発行すると通知されるパブリッシャーIDを使用します。

ダウンロードは以下から。

サンプルコード

import com.imo_tikuwa.indeed.IndeedApi;
import com.imo_tikuwa.indeed.cond.IndeedApiSearchCondition;
import com.imo_tikuwa.indeed.entity.IndeedApiInfo;
import com.imo_tikuwa.indeed.entity.IndeedJob;
import com.imo_tikuwa.indeed.exception.IndeedApiException;

public class Test {

  /**
   * IndeedApiテストクラス
   * @param args
   */
  public static void main(String[] args) {

    // IndeedAPIとの通信を行う際の検索条件を作成する
    IndeedApiSearchCondition condition = new IndeedApiSearchCondition();
    condition.setPublisher("@@@@@@@@@@@@@@@@");
    condition.setQ("Webプログラマ");
    condition.setUserip("127.0.0.1");
    condition.setUseragent("Mozilla/5.0%20(Windows%20NT%206.1;%20WOW64;%20rv:49.0)%20Gecko/20100101%20Firefox/49.0");
    condition.setCo("jp");

    // Indeedから求人情報を取得する
    IndeedApiInfo info = null;
    try {
      info = IndeedApi.getIndeedJobs(condition);
    } catch (IndeedApiException e) {
      e.printStackTrace();
    }

    // 結果をコンソールに出力
    if (info != null && info.results != null && info.results.size() > 0) {
      for (IndeedJob job : info.results) {
        System.out.println("jobtitle : " + job.jobtitle);
        System.out.println("company  : " + job.company);
        System.out.println("//////////");
      }
    }
  }

}

使い方
まずIndeedApiSearchConditionクラスのオブジェクトを作成します。作成したオブジェクトに以下の3つの必須パラメータをセットします。
setPublisherメソッドでパブリッシャーIDをセットします。
setUseripメソッドでエンドユーザーのIPアドレスをセットします。
setUseragentメソッドでエンドユーザーのユーザーエージェントをURLエンコードした文字列をセットします。

setUserip、setUseragentメソッドでセットする値はWebで使用する場合はそれぞれHttpServletRequestオブジェクトから取得可能です。

実行結果
サンプルコードを実行した場合以下のような表示になると思います。

その他
検索条件の必須、任意パラメータについてチェック処理は行っていません。セットした値をそのまま条件として追加しています。
APIリクエストの際に何かしらのエラーが発生した場合はおそらくIndeedApiExceptionがスローされます。リクエスト中のエラーやレスポンスXML内にエラーテキストが含まれているときはその内容が表示されます。
IndeedAPIのパラメータとして存在するv(バージョン)は2、format(フォーマット)はxmlで固定となっております。
IndeedAPIへのURLの生成にIndeedApiSearchConditionクラス使用する場合は固定値でセットされます。
IndeedのXMLフィードを参照するとuseripとuseragentのフィールドは必須と記載されていますが、ローカル環境では指定しなくても動作しているようでした。

スポンサーリンク
GoogleAdsense



GoogleAdsense



シェアする