Sobre o Indeed.com

O Indeed é um mecanismo de busca meta na Internet que oferece aos candidatos a emprego acesso gratuito a milhões de oportunidades de trabalho de milhares de sites em uma única busca como feeds de empregos. Ele inclui todas as listagens de empregos de sites de empregos, jornais e associações. Aqui neste post do blog, você pode saber como carregar os empregos do Indeed em seu site com passos simples de códigos PHP.

Passos para Integrar a API do Indeed

Passo 1: Crie uma conta no indeed.

Passo 2: Copie a solicitação XML de exemplo.

Passo 3: Crie uma função para enviar a solicitação de URL.

Passo 4: Crie uma função para converter XML em Array.

Passo 5: Crie uma página “indeed.php”

Passo 6: Crie uma página index.php para exibir os resultados.

Passo 1: Crie uma conta no indeed

Para fazer a integração do Indeed com seu site, você deve criar uma conta em indeed.com . Após fazer login, você pode ver o link da API no rodapé do indeed.com. Ao clicar nele, você será redirecionado para uma página de editor do Indeed e poderá fazer login com seus dados. Lá, você pode selecionar a opção XML Feed no menu, que fornece todos os detalhes sobre o XML Feed do Indeed.

Passo 2: Copie a solicitação XML de exemplo

Após selecionar o Feed XML, você receberá uma solicitação XML de exemplo incluindo seu ID de editor, como este “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”.

Além disso, você pode facilmente entender o que cada variável na URL significa e como usá-la. Você pode copiar esta API para sua página da web onde precisa mostrar os empregos do Indeed.

Passo 3:  Crie uma função de código PHP para enviar uma solicitação de URL.

Precisamos criar uma função para obter o feed XML do Indeed. Esta função nos ajuda a enviar a solicitação de URL. É com esta solicitação de URL que obtemos o feed XML. Você também pode adicionar ou alterar valores de variáveis na URL conforme sua necessidade. Aqui eu mudei algumas variáveis como query q=php, limit=25. Por padrão, ela puxa apenas 10 detalhes de empregos do feed XML do Indeed.

<?php

function curl_request(){

// Obter recurso cURL

$curl = curl_init();

// Defina algumas opções

curl_setopt_array($curl, array(

// Retorne a resposta como uma string em vez de exibi-la na tela

CURLOPT_RETURNTRANSFER => 1,

//URL para enviar a solicitação

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‘,));

// Envie a solicitação & salve a resposta em $resp

$resp = curl_exec($curl);

//print($resp);

// Fechar solicitação para liberar alguns recursos

curl_close($curl);

return $resp;

}

?>

Passo 4: Crie uma função que converta XML em Array

Usando a URL da API, nós só obtemos os dados em XML. Isso precisa ser convertido em um array e precisamos criar uma função para isso.

Exemplo de 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>Desenvolvedor Java</jobtitle>
<company>XYZ Corp.</company>
<city>Austin</city>
<state>TX</state>
<country>US</country>
<formattedLocation>Austin, TX</formattedLocation>
<source>Dice</source>
<date>Seg, 02 Ago 2010 16:21:00 GMT</date>
<snippet>procurando um Desenvolvedor Java orientado a objetos… Java Servlets, HTML, JavaScript,
AJAX, Struts, Struts2, JSF) desejável. Familiaridade com Tomcat e o 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>há 11 horas</formattedRelativeTime>
&

Função

<?php

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

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

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

se (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;

}

?>

Passo 5: Crie uma página da web “indeed.php”

Criamos uma página da web para incluir todas as funções que criamos acima.

<?php

function curl_request(){

// Obter recurso cURL

$curl = curl_init();

// Defina algumas opções

curl_setopt_array($curl, array(

// Retorne a resposta como uma string em vez de exibi-la na tela

CURLOPT_RETURNTRANSFER => 1,

//URL para enviar a solicitação

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‘,

));

// Envie a solicitação & salve a resposta em $resp

$resp = curl_exec($curl);

// Fechar solicitação para liberar alguns 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;

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

se (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 o loop for para mostrar o número de  empregos

$resp=curl_request($i);

$arrXml = xmlToArray($resp);

$results=$arrXml[‘results’];

?>

<li>

<p>

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

</p>

<p><strong>Localização: <?php echo $results[‘result’][$i][‘city’]; ?></strong></p>

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

<p> Descrições :<?php echo $results[‘result’][$i][‘snippet’]; ?></p>

</li>

<?php } ?>

</ol>

</body>

</html>

Passo 6: Crie uma página index.php com um link para carregar os feeds de empregos do Indeed.

Esta é a página inicial que mostra o link para indeed.php, que exibe empregos do site Indeed.

<html>

<body>

<p>

Mostre empregos de <a href=”indeed.php”>INDEED</a>

</p>

</body>

</html>

Após criar esses dois arquivos, salve-os em uma única pasta no localhost ou servidor. Abaixo está a captura de tela da página da web que carrega empregos do Indeed.

Load Job Feeds Indeed Posts 206x300 1