Indeed.comについて

Indeedは、インターネット上のメタ検索エンジンであり、求職者に対して数千のウェブサイトからの数百万の雇用機会に無料でアクセスできるようにします。これは、求人情報を一度の検索で提供します。求人ボード、新聞、団体からのすべての求人情報が含まれています。このブログ投稿では、PHPコードの簡単な手順であなたのウェブサイトにIndeedの求人を読み込む方法を知ることができます。

Indeed APIを統合する手順

ステップ1:Indeedでアカウントを作成します。

ステップ2:サンプルXMLリクエストをコピーします。

ステップ3: URLリクエストを送信する関数を作成します。

ステップ4: XMLを配列に変換する関数を作成します。

ステップ5: “indeed.php”というページを作成する

ステップ6: 結果を表示するためのページ index.php を作成します。

ステップ 1: Indeed でアカウントを作成する

あなたのウェブサイトにIndeedを統合するには、まず indeed.com でアカウントを作成する必要があります。ログイン後、 API リンクがindeed.comのフッターに表示されます。それをクリックすると、Indeedパブリッシャーページにリダイレクトされ、あなたの詳細でログインできます。そこで、メニューバーからXMLフィードオプションを選択すると、Indeed XMLフィードに関するすべての詳細が提供されます。

ステップ2:サンプルXMLリクエストをコピーする

XMLフィードを選択すると、次のようにあなたのパブリッシャーIDを含むサンプルXMLリクエストが表示されます:“http://api.indeed.com/ads/apisearch?publisher=9xxxxxxxxxxxxxx&q=java&l=austin%2C+tx&sort=&radius=&st=

&jt=&start=&limit=&fromage=&filter=&latlong=1&co=us&chnl=&userip=1.2.3.4&useragent=Mozilla/%2F4.0%28Firefox%29&v=2”。

また、URL内の各変数が何を意味し、どのように使用するかを簡単に理解できます。このAPIを、Indeedの求人を表示する必要があるウェブページにコピーできます。

ステップ 3:  URL リクエストを送信する PHP コード関数を作成します。

私たちは、IndeedからXMLフィードを取得するための関数を作成する必要があります。この関数は、URLリクエストを送信するのに役立ちます。このURLリクエストを使用して、XMLフィードを取得します。また、必要に応じてURL内の変数値を追加または変更することができます。ここでは、query q=php、limit=25のようにいくつかの変数を変更しました。デフォルトでは、IndeedのXMLフィードから10件の求人詳細のみを取得します。

<?php

function curl_request(){

// cURLリソースを取得

$curl = curl_init();

// オプションを設定する

curl_setopt_array($curl, array(

// 画面に出力するのではなく、文字列として応答を返します

CURLOPT_RETURNTRANSFER => 1,

//リクエストを送信するURL

CURLOPT_URL => ‘http://api.indeed.com/ads/apisearch?publisher=9xxxxxxxxxxxxxxx&q=php&l=austin%2C+tx&sort=&radius=&st=&jt=&start=&limit=100&fromage=&filter=&latlong=1&co=us&chnl=&userip=1.2.3.4&useragent=Mozilla/%2F4.0%28Firefox%29&v=2‘,));

// リクエストを送信し、レスポンスを$respに保存します

$resp = curl_exec($curl);

//print($resp);

// リソースを解放するためにリクエストを閉じる

curl_close($curl);

返す $resp;

}

?>

ステップ4:XMLを配列に変換する関数を作成する

APIのURLを使用すると、XMLデータのみが取得されます。これを配列に変換する必要があり、そのための関数を作成する必要があります。

XMLフィードの例

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<response version=”2″>
<query>java</query>
<location>オースティン, TX</location>
<dupefilter>true</dupefilter>
<highlight>false</highlight>
<totalresults>547</totalresults>
<start>1</start>
<end>10</end>
<radius>25</radius>
<pageNumber>0</pageNumber>
<results>
<result>
<jobtitle>Java開発者</jobtitle>
<company>XYZ Corp.</company>
<city>オースティン</city>
<state>TX</state>
<country>US</country>
<formattedLocation>オースティン, TX</formattedLocation>
<source>Dice</source>
<date>Mon, 02 Aug 2010 16:21:00 GMT</date>
<snippet>オブジェクト指向のJava開発者を探しています… Java Servlets, HTML, JavaScript,
AJAX, Struts, Struts2, JSF) が望ましい。TomcatとJavaに精通していること…</snippet>
<url>http://www.indeed.com/viewjob?jk=12345&indpubnum=8343699265155203</url>
<onmousedown>indeed_clk(this,’0000′);</onmousedown>
<latitude>30.27127</latitude>
<longitude>-97.74103</longitude>
<jobkey>12345</jobkey>
<sponsored>false</sponsored>
<expired>false</expired>
<formattedLocationFull>オースティン, TX</formattedLocationFull>
&lt

機能

<?php

function xmlToArray($input, $callback = null, $recurse = false) {

$data = ((!$recurse) && is_string($input))? simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA): $input;

if ($data instanceof SimpleXMLElement) $data = (array) $data;

if (is_array($data)) foreach ($data as &$item) $item = xmlToArray($item, $callback, true);

return (!is_array($data) && is_callable($callback))? call_user_func($callback, $data): $data;

}

?>

ステップ5: ウェブページ「indeed.php」を作成する

私たちは、上記で作成したすべての機能を含むウェブページを作成します。

<?php

function curl_request(){

// cURLリソースを取得

$curl = curl_init();

// オプションを設定する

curl_setopt_array($curl, array(

// 画面に出力するのではなく、文字列として応答を返します

CURLOPT_RETURNTRANSFER => 1,

//リクエストを送信するURL

CURLOPT_URL => ‘http://api.indeed.com/ads/apisearch?publisher=9xxxxxxxxxxxxxxx&q=php&l=austin%2C+tx&sort=&radius=&st=&jt=&start=&limit=25&fromage=&filter=&latlong=1&co=us&chnl=&userip=1.2.3.4&useragent=Mozilla/%2F4.0%28Firefox%29&v=2‘,

));

// リクエストを送信し、レスポンスを$respに保存します

$resp = curl_exec($curl);

// リソースを解放するためにリクエストを閉じる

curl_close($curl);

返す $resp;

}

function xmlToArray($input, $callback = null, $recurse = false) {

$data = ((!$recurse) && is_string($input))? simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA): $input;

if ($data instanceof SimpleXMLElement) $data = (array) $data;

if (is_array($data)) foreach ($data as &$item) $item = xmlToArray($item, $callback, true);

return (!is_array($data) && is_callable($callback))? call_user_func($callback, $data): $data;

}

?>

<html>

<body>

<ol>

<?php

for($i=0;$i<25;$i++){    // ジョブの数を表示するためにforループを使用しています

$resp=curl_request($i);

$arrXml = xmlToArray($resp);

$results=$arrXml[‘results’];

?>

<li>

<p>

<strong>仕事 :<a href=”<?php echo $results[‘result’][$i][‘url’]; ?>” target=”_blank”><?php echo $results[‘result’][$i][‘jobtitle’]; ?></a></strong>

</p>

<p><strong>場所: <?php echo $results[‘result’][$i][‘city’]; ?></strong></p>

<p><strong>日付 :<?php echo $results[‘result’][$i][‘date’];?></strong></p>

<p> 説明 :<?php echo $results[‘result’][$i][‘snippet’]; ?></p>

</li>

<?php } ?>

</ol>

</body>

</html>

ステップ6:job feedsを読み込むためのindeedリンクを持つページindex.phpを作成します。

これは、indeedサイトからの求人を表示するindeed.phpへのリンクを示すホームページです。

<html>

<body>

<p>

<a href=”indeed.php”>INDEED</a>の求人を表示

</p>

</body>

</html>

これらの2つのファイルを作成した後、ローカルホストまたはサーバーの単一のフォルダーに保存してください。以下は、Indeedの求人を読み込むウェブページのスクリーンショットです。

Load Job Feeds Indeed Posts 206x300 1