Acerca de Indeed.com
Indeed es un motor de búsqueda meta en Internet que ofrece a los buscadores de empleo acceso gratuito a millones de oportunidades laborales de miles de sitios web en una sola búsqueda como feeds de empleo. Incluye todas las ofertas de trabajo de bolsas de trabajo, periódicos y asociaciones. Aquí en esta publicación del blog, puedes conocer cómo cargar los trabajos de Indeed en tu sitio web con simples pasos de códigos PHP.
Pasos para integrar la API de Indeed
Paso 1: Crea una cuenta en indeed.
Paso 2: Copie la solicitud XML de muestra.
Paso 3: Crea una función para enviar la solicitud de URL.
Paso 4: Crea una función para convertir XML a Array.
Paso 5: Crea una página “indeed.php”
Paso 6: Crea una página index.php para mostrar los resultados.
Paso 1: Crea una cuenta en indeed
Para hacer la integración de Indeed con tu sitio web, debes crear una cuenta en indeed.com . Después de iniciar sesión, puedes ver el API en el pie de página de indeed.com. Al hacer clic en él, serás redirigido a una página de editores de Indeed y podrás iniciar sesión con tus datos. Allí puedes seleccionar la opción de XML Feed en la barra de menú, que proporciona todos los detalles sobre el XML Feed de Indeed.
Paso 2: Copiar la solicitud XML de muestra
Después de seleccionar XML Feed, recibirás una solicitud XML de muestra que incluye tu ID de editor como este “http://api.indeed.com/ads/apisearch?publisher=9xxxxxxxxxxxxxx&q=java&l=austin%2C+tx&sort=&radius=&st=
También puedes entender fácilmente qué significa cada variable en la URL y cómo usarla. Puedes copiar esta API en tu página web donde necesites mostrar los trabajos de Indeed.
Paso 3: Crea una función de código PHP para enviar una solicitud de URL.
Necesitamos crear una función para obtener el feed XML de Indeed. Esta función nos ayuda a enviar la solicitud de URL. Es con esta solicitud de URL que obtenemos el feed XML. También puedes agregar o cambiar los valores de las variables en la URL según tus necesidades. Aquí cambié algunas variables como query q=php, limit=25. Por defecto, solo extrae 10 detalles de trabajos del feed XML de Indeed.
<?php
function curl_request(){
// Obtener recurso cURL
$curl = curl_init();
// Establecer algunas opciones
curl_setopt_array($curl, array(
// Devuelve la respuesta como una cadena en lugar de mostrarla en la pantalla
CURLOPT_RETURNTRANSFER => 1,
//URL para enviar la solicitud a
// Enviar la solicitud & guardar la respuesta en $resp
$resp = curl_exec($curl);
//print($resp);
// Cerrar solicitud para liberar algunos recursos
curl_close($curl);
return $resp;
}
?>
Paso 4: Crea una función que convierta XML a Array
Usando la URL de la API, solo obtenemos los datos en XML. Esto necesita ser convertido a un array y necesitamos crear una función para eso.
Ejemplo para feed XML
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<response version=”2″>
<query>java</query>
<location>austin, 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>Desarrollador Java</jobtitle>
<company>XYZ Corp.</company>
<city>Austin</city>
<state>TX</state>
<country>US</country>
<formattedLocation>Austin, TX</formattedLocation>
<source>Dice</source>
<date>Lun, 02 Ago 2010 16:21:00 GMT</date>
<snippet>buscando un Desarrollador Java orientado a objetos… Java Servlets, HTML, JavaScript,
AJAX, Struts, Struts2, JSF) deseable. Familiaridad con Tomcat y el 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>Austin, TX</formattedLocationFull>
<formattedRelativeTime>hace 11 horas</formattedRelativeTime><
Función
<?php
function xmlToArray($input, $callback = null, $recurse = false) {
$data = ((!$recurse) && is_string($input))? simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA): $input;
si ($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;
}
?>
Paso 5: Crea una página web “indeed.php”
Creamos una página web para incluir todas las funciones que creamos arriba.
<?php
function curl_request(){
// Obtener recurso cURL
$curl = curl_init();
// Establecer algunas opciones
curl_setopt_array($curl, array(
// Devuelve la respuesta como una cadena en lugar de mostrarla en la pantalla
CURLOPT_RETURNTRANSFER => 1,
//URL para enviar la solicitud a
));
// Enviar la solicitud & guardar la respuesta en $resp
$resp = curl_exec($curl);
// Cerrar solicitud para liberar algunos recursos
curl_close($curl);
return $resp;
}
function xmlToArray($input, $callback = null, $recurse = false) {
$data = ((!$recurse) && is_string($input))? simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA): $input;
si ($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++){ // usando un bucle for para mostrar el número de trabajos
$resp=curl_request($i);
$arrXml = xmlToArray($resp);
$results=$arrXml[‘results’];
?>
<li>
<p>
<strong>Trabajo :<a href=”<?php echo $results[‘result’][$i][‘url’]; ?>” target=”_blank”><?php echo $results[‘result’][$i][‘jobtitle’]; ?></a></strong>
</p>
<p><strong>Ubicación: <?php echo $results[‘result’][$i][‘city’]; ?></strong></p>
<p><strong>Fecha :<?php echo $results[‘result’][$i][‘date’];?></strong></p>
<p> Descripciones :<?php echo $results[‘result’][$i][‘snippet’]; ?></p>
</li>
<?php } ?>
</ol>
</body>
</html>
Paso 6: Crea una página index.php con un enlace a Indeed para cargar las ofertas de trabajo.
Esta es la página de inicio que muestra el enlace a indeed.php que muestra trabajos del sitio de Indeed.
<html>
<body>
<p>
Mostrar trabajos de <a href=”indeed.php”>INDEED</a>
</p>
</body>
</html>
Después de crear estos dos archivos, guárdalos en una sola carpeta en el host local o servidor. A continuación se muestra la captura de pantalla de la página web que carga trabajos de Indeed.
