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 에서 계정을 생성해야 합니다. 로그인한 후에는 API 링크를 indeed.com의 바닥글에서 확인할 수 있습니다. 이를 클릭하면 Indeed 퍼블리셔 페이지로 리디렉션되며, 귀하의 정보로 로그인할 수 있습니다. 거기에서 메뉴 바에서 XML Feed 옵션을 선택하면 Indeed XML Feed에 대한 모든 세부 정보를 확인할 수 있습니다.

단계 2: 샘플 XML 요청 복사

XML 피드를 선택하면 다음과 같이 귀하의 퍼블리셔 ID가 포함된 샘플 XML 요청을 받게 됩니다: “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”.

또한 URL의 각 변수가 무엇을 의미하는지와 어떻게 사용하는지 쉽게 이해할 수 있습니다. 이 API를 복사하여 실제 일자리를 보여줘야 하는 웹페이지에 붙여넣을 수 있습니다.

3단계:  URL 요청을 보내는 PHP 코드 함수를 생성합니다.

우리는 indeed에서 XML 피드를 가져오는 함수를 만들어야 합니다. 이 함수는 URL 요청을 보내는 데 도움이 됩니다. 이 URL 요청을 통해 XML 피드를 가져옵니다. 또한 필요에 따라 URL에서 변수 값을 추가하거나 변경할 수 있습니다. 여기에서 query q=php, limit=25와 같은 일부 변수를 변경했습니다. 기본적으로 이는 indeed XML 피드에서 10개의 작업 세부정보만 가져옵니다.

<?php

function curl_request(){

// cURL 리소스 가져오기

$curl = curl_init();

// 옵션 설정

curl_setopt_array($curl, array(

// 응답을 화면에 출력하는 대신 문자열로 반환합니다.

CURLOPT_RETURNTRANSFER => 1,

//요청을 보낼 URL

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

// 요청을 보내고 & 응답을 $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>자바</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>자바 개발자</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>객체 지향 자바 개발자를 찾고 있습니다… 자바 서블릿, HTML, 자바스크립트,
AJAX, Struts, Struts2, JSF) 바람직합니다. Tomcat 및 자바에 대한 친숙함…</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>
&

기능

<?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

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

));

// 요청을 보내고 & 응답을 $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>

<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단계: job feeds를 로드하기 위해 indeed 링크가 있는 index.php 페이지를 생성합니다.

이것은 indeed 사이트의 직업을 표시하는 indeed.php에 대한 링크를 보여주는 홈 페이지입니다.

<html>

<body>

<p>

<a href=”indeed.php”>인디드</a>의 채용 공고 보기

</p>

</body>

</html>

이 두 파일을 생성한 후 로컬 호스트나 서버의 단일 폴더에 저장하십시오. 아래는 Indeed Jobs를 로드하는 웹페이지의 스크린샷입니다.