О 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=
Также вы можете легко понять, что означает каждая переменная в 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 для отправки запроса
// Отправьте запрос & сохраните ответ в $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 часов назад<
Функция
<?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 для отправки запроса
));
// Отправьте запрос & сохраните ответ в $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.
