О Indeed.com

Indeed является мета-поисковой системой в Интернете, которая предоставляет соискателям бесплатный доступ к миллионам возможностей трудоустройства с тысяч сайтов в одном поиске в виде лент вакансий. Она включает все объявления о работе с досок объявлений, газет и ассоциаций. В этом блоге вы можете узнать, как загрузить вакансии Indeed на ваш сайт с помощью простых шагов кода PHP.

Шаги для интеграции 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 Feed в меню, которая предоставляет все детали о XML Feed indeed.

Шаг 2: Скопируйте образец XML-запроса

После выбора XML Feed вы получите пример 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:  Создайте функцию PHP для отправки URL-запроса.

Нам нужно создать функцию для получения XML-канала с Indeed. Эта функция помогает нам отправлять запрос по URL. Именно с помощью этого запроса мы получаем XML-канал. Также вы можете добавлять или изменять значения переменных в URL по своему усмотрению. Здесь я изменил некоторые переменные, такие как query q=php, limit=25. По умолчанию она извлекает только 10 деталей вакансий из XML-канала Indeed.

<?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 в массив

Используя URL API, мы получаем только данные в формате 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>Пн, 02 Авг 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>
<formattedRelativeTime>11 часов назад&lt

Функция

<?php

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

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

если ($data instanceof SimpleXMLElement) $data = (array) $data;

если (is_array($data)) foreach ($data как &$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;

если ($data instanceof SimpleXMLElement) $data = (array) $data;

если (is_array($data)) foreach ($data как &$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: Создайте страницу index.php с ссылкой indeed для загрузки лент вакансий.

Это главная страница, которая показывает ссылку на indeed.php, которая отображает вакансии с сайта indeed.

<html>

<body>

<p>

Показать вакансии от <a href=”indeed.php”>INDEED</a>

</p>

</body>

</html>

После создания этих двух файлов, пожалуйста, сохраните их в одной папке на локальном хосте или сервере. Ниже приведен скриншот веб-страницы, которая загружает вакансии Indeed.