关于Indeed.com
Indeed 是一个互联网元搜索引擎,为求职者提供免费访问来自数千个网站的数百万就业机会的服务,所有信息都可以通过一次搜索以职位信息流的形式获取。它包括来自招聘网站、报纸和协会的所有职位列表。在这篇博客文章中,您可以了解如何通过简单的 PHP 代码将 Indeed 职位加载到您的网站上。
集成 Indeed API 的步骤
步骤 1:在 indeed 上创建一个帐户。
步骤 2:复制示例 XML 请求。
步骤 3:创建一个函数以发送 URL 请求。
步骤 4:创建一个函数将 XML 转换为数组。
步骤 5:创建一个页面 “indeed.php”
第6步:创建一个页面 index.php 来显示结果。
步骤 1:在 indeed 上创建一个帐户
要将 Indeed 集成到您的网站,您必须在 indeed.com 上创建一个帐户。登录后,您可以在 indeed.com 的页脚中看到 API 链接。点击它后,您将被重定向到 Indeed 发布者页面,您可以使用您的详细信息登录。在那里,您可以从菜单栏中选择 XML Feed 选项,该选项提供有关 Indeed XML Feed 的所有详细信息。
步骤 2:复制示例 XML 请求
选择 XML Feed 后,您将获得一个示例 XML 请求,其中包含您的发布者 ID,如下所示:“http://api.indeed.com/ads/apisearch?publisher=9xxxxxxxxxxxxxx&q=java&l=austin%2C+tx&sort=&radius=&st=
您还可以轻松理解 URL 中每个变量的含义以及如何使用它。您可以将此 API 复制到您需要显示 Indeed 职位的网页中。
步骤 3: 创建一个 PHP 代码函数以发送 URL 请求。
我们需要创建一个函数来获取来自 indeed 的 XML 供稿。这个函数帮助我们发送 URL 请求。正是通过这个 URL 请求,我们才能获取 XML 供稿。您还可以根据需要添加或更改 URL 中的变量值。在这里,我更改了一些变量,比如查询 q=php,limit=25。默认情况下,它只从 indeed XML 供稿中提取 10 个职位详情。
<?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 转换为数组的函数
使用 API URL,我们只获取 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>美国</country>
<formattedLocation>奥斯丁, TX</formattedLocation>
<source>Dice</source>
<date>周一, 2010年8月2日 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小时前</formattedRelativeTime>
功能
<?php
function xmlToArray($input, $callback = null, $recurse = false) {
$data = ((!$recurse) && is_string($input))? simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA): $input;
if ($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;
}
?>
步骤 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;
if ($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>
<?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 职位的网页截图。
