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=
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
// 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
));
// 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.
