2011-02-13 54 views
-2

我使用真正的api来回填我的工作发布时,我的结果为空。我不熟悉的API,但我有一些困难得到的网址加载根据我的参数。简单的XML加载文件不工作 - indeed.com api

<?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); } 
?> 

任何人都知道为什么URL没有加载?我修正了q =问题,但仍无法加载。

+2

你的错误是什么? – 2011-02-13 19:55:37

回答

0

首先,您正在加载相同的文档两次。首先用cURL(不必要地)然后用SimpleXML。从该脚本中删除了与卷曲有关的所有内容,您并不需要它。

其次,文档正确加载,但它不包含任何结果,因为发布者编号############显然无效。请清理脚本并提供您要加载的文档样本。