야후 이용!Search API 자체 검색엔진-php 버 전 개발

미국 동부 시간 으로 3 월 1 일 야후 의 공동 창시자 중 한 명인 양 치 원 은 회사 의 검색 네트워크 가 웹 서비스 에 들 어 갈 것 이 라 고 발표 할 것 이다.야후 는 www.developer.yahoo.com 사이트 에 Yahoo Search Developer Network 를 구축 하고 뉴욕 에서 열 리 는 검색엔진 전략 대회(Search Engine Strategies Conference)에서 이 계획 을 내 놓 을 계획 이다.이 네트워크 는 개발 자 들 이 야후 검색 위 에 새로운 응용 프로그램 을 만 들 수 있 도록 해 줄 것 이다.그 중에서 이미지,영상,뉴스 와 지역 검색 등 내용 을 포함한다.이 서 비 스 를 이용 하려 는 회원 은 반드시 먼저 가 야 한다.http://api.search.yahoo.com/webservices/register_application  자신의 ID 번 호 를 신청 합 니 다.주:각 ID 번 호 는 매일 5000 번 만 검색 할 수 있 습 니 다.    PHP 스 크 립 트 로 야후 를 어떻게 호출 하 는 지 살 펴 보 겠 습 니 다!Search API 가 검색 효 과 를 실현 합 니 다.모든 스 크 립 트 는 다음 과 같 습 니 다.   ')를 입력 하 십시오.http://api.search.yahoo.com/ImageSearchService/V1/imageSearch',                 'local'=>'http://api.local.yahoo.com/LocalSearchService/V1/localSearch',                 'news'=>'http://api.search.yahoo.com/NewsSearchService/V1/newsSearch',                 'video'=>'http://api.search.yahoo.com/VideoSearchService/V1/videoSearch',                 'web'=>'http://api.search.yahoo.com/WebSearchService/V1/webSearch');?>PHP Yahoo Web Service Example Code
Search Term:
Zip Code: (for local search)
";    echo " Node  : " . $errorline['nodename'] . "
";    echo " Line  : " . $errorline['line'] . "
";    echo " Column : " . $errorline['col'] . "
";  }  done();}// Now traverse the DOM with this function// It is basically a generic parser that turns limited XML into a PHP array// with only a couple of hardcoded tags which are common across all the// result xml from the web servicesfunction xml_to_result($dom) {  $root = $dom->document_element();  $res['totalResultsAvailable'] = $root->get_attribute('totalResultsAvailable');  $res['totalResultsReturned'] = $root->get_attribute('totalResultsReturned');  $res['firstResultPosition'] = $root->get_attribute('firstResultPosition');  $node = $root->first_child();  $i = 0;  while($node) {    switch($node->tagname) {      case 'Result':        $subnode = $node->first_child();        while($subnode) {          $subnodes = $subnode->child_nodes();          if(!empty($subnodes)) foreach($subnodes as $k=>$n) {            if(empty($n->tagname)) $res[$i][$subnode->tagname] = trim($n->get_content());            else $res[$i][$subnode->tagname][$n->tagname]=trim($n->get_content());          }          $subnode = $subnode->next_sibling();        }        break;      default:        $res[$node->tagname] = trim($node->get_content());        $i--;        break;    }    $i++;    $node = $node->next_sibling();  }    return $res;}$res = xml_to_result($dom);// Ok, now that we have the results in an easy to use format,// display them.  It's quite ugly because I am using a single// display loop to display every type and I don't really understand HTML$first = $res['firstResultPosition'];$last = $first + $res['totalResultsReturned']-1;echo "

Matched ${res[totalResultsAvailable]}, showing $first to $last

";if(!empty($res['ResultSetMapUrl'])) {  echo "

Result Set Map: ${res[ResultSetMapUrl]}

";}for($i=0; $i<$res['totalResultsReturned']; $i++) {  foreach($res[$i] as $key=>$value) {    switch($key) {      case 'Thumbnail':        echo "";        break;      case 'Cache':        echo "Cache: ${value[Url]} [${value[Size]}]
";        break;      case 'PublishDate':        echo "$key: ".strftime('%X %x',$value);        break;      default:        if(stristr($key,'url')) echo "$value
";        else echo "$key: $value
";        break;    }  }  echo "
";}// Create Previous/Next Page linksif($start > 1)  echo '<-Previous Page   ';if($last < $res['totalResultsAvailable'])  echo 'Next Page->';done();?>관심 있 는 분 들 은[동적 사이트 제작 가이드]가 만 든 ASP 버 전도 보 실 수 있 습 니 다.http://www.knowsky.com/yahoo/

좋은 웹페이지 즐겨찾기