开发者

Simple XML Load File not working - indeed.com api

I am using the indeed api to backfill my job postings when my results is null. I am not familiar with the api but i am having some difficulty getting the url to load based on my parameters.

<?php
$publisher = "############";
$sort = "relevance";  ## Sort by "relevance" or "date"
$radius = "50";  ## Distance from search location
$st = "";  ## Site type (default blank- can set to "jobsite" or "employer")
$jt = "";  ## Job type (default blank- can set to fulltime, parttime, contract, internship, or temporary)
$start_number = 0;  ## Start search results at this number (used for pagination)
$limit = "10";  ## Number of results per page
$fromage = "";  ## Number of days to search back (default blank = 30)
$highlght = "1";  ## Bold the keyword search terms in results (set to 0 for no bold)
$filter = "1";  ## Filters out duplicate results (set to 0 for no filter)
$latlong = "1";  ## If latlong=1, returns latitude and longitude information for each result
$co = "us";  ## Country to search jobs in
$chnl = "";  ## API Channel request.  Leave blank for none
$query = "web analytics";
$location = "55403";
$highlight = "1";
$userip = $_SERVER['REMOTE_ADDR'];  ## IP address of user
$useragent = $_SERVER['HTTP_USER_AGENT'];  ## User's browser type    

$params =
       array(
                'publisher' => $publisher,
                'q' => 开发者_运维技巧$query,
                'l' => $location,
                'sort' => $sort,
                'radius' => $radius,
                'st' => $st,
                'jt' => $jt,
                'start' => $start_number,
                'limit' => $limit,
                'fromage' => $fromage,
                'filter' => $filter,
                'latlong' => $latlong,
                'co' => $co,
                'chnl' => $chnl,
                'userip' => $userip,
                'useragent' => $useragent,
                 );


$url = 'http://api.indeed.com/ads/apisearch'.'?'.http_build_query($params,'', '&');

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
$result = curl_exec($ch);
curl_close($ch);

$xml = (simplexml_load_file($url));
$xmlobj = $xml;

foreach ($xmlobj->results->result as $job) {
   echo sprintf("%s<br>\n%s<br><br>\n\n", (string)$job->jobtitle,
(string)$job->snippet); }
?>

Anyone have any idea why the URL is not loading? I fixed the q= issue, but it still does not load.


First off, you're loading the same document twice. First with cURL (needlessly) then with SimpleXML. Removed everything related to curl from that script, you don't need it.

Secondly, the document loads correctly, but it doesn't contain any results because the publisher number ############ is, obviously, invalid. Please clean up your script and provide a sample of the document you're trying to load.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜