イレブンナインのふじけんです。
求人捗ってますか。
無料で求人広告を出せるIndeed.comというサービスがあります。
このサービスに公式のAPIが用意されており、XMLを取得可能ということで、PHPでさっと求人広告を検索してみました。
本当は、求人に対する閲覧数、応募数を取得したかったのですが、まだ公式APIは対応していないようです。また、わたしはインフラエンジニアなので、普段PHPコードを書いていないのですが、勉強のためトライしました。なるべく初心者の方にもわかるコードの書き方となっています。ご容赦ください。
準備
Indeed パブリッシャープログラムにアクセスして、「アカウントを作成」ボタンをクリックします。
※すでに登録済みの方は「パブリッシャーアカウントにログイン」のリンクをクリック。
求人検索API
4つのタブが画面に表示されているので、その中から「求人検索API」をクリックします。
アトリビューション
Indeed の検索結果を表示する際には、以下のアトリビュートを使う必要があります。
説明書きにあるとおり、Indeed.comが用意したコードを含める必要があります。
以下のコードを適当なところに貼っておきましょう。
<span id="indeed_at"><a title="求人検索" href="https://jp.indeed.com"><img alt=Indeed src="https://www.indeed.com/p/jobsearch.gif" style="border: 0; vertical-align: middle;"> からの求人</a></span>
貼るとIndeed.comへのリンクとなるようです。
パブリッシャーアカウントにひとつのパブリッシャーID
このAPIは、検索文字列と勤務地を入力すると検索を結果をXMLデータとして返しくれます。利用するにはログインしたパブリッシャーアカウントにそれぞれ付与されるパブリッシャーIDを渡してあげる必要があります。
ほかにも細かく設定可能なパラメータがXMLリクエストのサンプルフォーマットとしてあらかじめ用意されています。
サンプルリクエストのURLとして、以下記載があります。
この?publisher=xxxxxxxxxxxxxxxx
の箇所をPHP上で格納しています。
publisher.phpの中で、INDEEDCOM_PUBLISHERの中にパブリッシャーIDを設定しています。※セキュリティ上伏字にしています。
$ cat publisher.php
<?php
//publisher.php
define( 'INDEEDCOM_PUBLISHER', 'xxxxxxxxxxxxxxxx' );
URL生成時に参照しています。
require_once("publisher.php");
:
$req = "http://api.indeed.com/ads/apisearch?publisher=".INDEEDCOM_PUBLISHER.~;
生成したURLを元にsimplexml_load_file()関数でXMLファイルからXMLデータを取得しています。
//XMLデータ取得用ベースURL
$req = "http://api.indeed.com/ads/apisearch?publisher=".INDEEDCOM_PUBLISHER."&q=".$query."&l=".$location."&sort=&radius=&st=employer&jt=&start=&limit=&fromage=&filter=&latlong=1&co=jp&chnl=&userip=1.2.3.4&useragent=Mozilla/%2F4.0%28Firefox%29&v=2";
//XMLファイルをパースし、オブジェクトを取得
$xml = simplexml_load_file($req)
or die("XMLパースエラー");
返ってきた結果をechoでHTMLに戻しています。
echo '<p>query:'.$xml->query.'</p>';
echo '<p>location:'.$xml->location.'</p>';
echo '<p>results:'.$xml->results->result->count().'</p>';
$ret = '<div class="lwws">';
foreach($xml->results->result as $result) {
$ret .= "<div><a href='".$result[0]->url."'>".$result[0]->jobtitle."</a></div>";
}
$ret .= "</div>";
return $ret;
ほかにも取得したい項目があれば、サンプルを参照ください。
検索フォームなどのデザインはお好みで調整してください。
ソースコードはこちら
宣伝
イレブンナイン株式会社では、エンジニア採用に力を入れています。本稿以外のノウハウも弊社は有しており、日々向上を是として取り組んでおります。自社サービスの開発もその一つです。
弊社のサイトです。
http://www.elevennines.co.jp
弊社のサイトにも採用に向けた応募フォームがありますが、採用強化週間としてIndeed.comに求人広告を載せています。
ご興味がありましたらぜひコンタクトをいただければ幸いです。