2017-07-30 26 views
-1

這裏是我下面的示例代碼和翻書API指南來源:https://developers.naver.com/docs/search/book/從圖書館開放api獲取標題和作者?

我如何,如果我想只有書名和作者修改這個代碼?

有沒有人經歷過使用過圖書館或書店的開放API?

下面的代碼顯示了所有可能的結果。

http://amhappy.net/naverbook.php

<?php 


    $client_id = ""; 
    $client_secret = ""; 
    $encText = urlencode("ubuntu"); 
    $url = "https://openapi.naver.com/v1/search/book.json?query=".$encText; // json 결과 

    $is_post = false; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_POST, $is_post); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $headers = array(); 
    $headers[] = "X-Naver-Client-Id: ".$client_id; 
    $headers[] = "X-Naver-Client-Secret: ".$client_secret; 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
    $response = curl_exec ($ch); 
    $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    echo "status_code:".$status_code." 
"; 
    curl_close ($ch); 
    if($status_code == 200) { 
    echo $response; 
    } else { 
    echo "Error 내용:".$response; 
    } 
?> 

回答

0

這個方法使用json_decode(),一個循環,array_intersect_key()只保留想要從你的反應元件。 items子陣列包含所有數據(以及更多)。覆蓋$v通過引用&允許您根據鍵過濾不需要的元素。

代碼:

$json='{ "lastBuildDate": "Sat, 19 Aug 2017 22:35:30 +0900", "total": 861, "start": 1, "display": 10, "items": [ { "title": "ìœ ë‹‰ìŠ¤ 리눅스 ì…¸ 스í¬ë¦½íŠ¸ ì˜ˆì œ ì‚¬ì „ (ì „ë¬¸ê°€ì—게 ê¼­ í•„ìš」í•œ 132가지 실용 ì˜ˆì œ)", "link": "http://book.naver.com/bookdb/book_detail.php?bid=9487573", "image": "http://bookthumb.phinf.naver.net/cover/094/875/09487573.jpg?type=m1&udate=20160615", "author": "오스미 ìœ ìŠ¤ì¼€", "price": "30000", "discount": "27000", "publisher": "한빛미ë」」ì–´", "pubdate": "20150901", "isbn": "8968482136 9788968482137", "description": "ì‹¤ì „ ì˜ˆì œë¥¼ 곧 ë°」ë¡œ í˜„ì—…ì— ì 용하ë¼![ìœ ë‹‰ìŠ¤ 리눅스 ì…¸ 스í¬ë¦½íŠ¸ ì˜ˆì œ ì‚¬ì „]ì€ ì„œë²„ 관리, ë„¤íŠ¸ì›Œí¬ ê´€ë¦¬ ë「± ì‹¤ë¬´ì— ìœ ìš©í•œ ì‹¤ì „ 쉘 스í¬ë¦½íŠ¸ ì˜ˆì œë¥¼ 132ê°œ ì œê³µí•œë‹¤. 서버 ë° ë„¤íŠ¸ì›Œí¬ ê´€ë¦¬ìžë¿ë§Œ ì•„ë‹ˆë¼ ìœ ë‹‰ìŠ¤ì™€ 리눅스 개발 í˜„ìž¥ì˜ ì¼ì›ì´ë¼ë©´ ì´ ì±…ì´ ì—…ë¬´ì— ìœ ìš©í•˜ê²Œ 활용ë 것ì´ë‹¤. ì´ ì±…ì˜ ì˜ˆì œëŠ」... " }, { "title": "ìœ ë‹‰ìŠ¤ 시스템 í」„로그래ë°", "link": "http://book.naver.com/bookdb/book_detail.php?bid=85", "image": "http://bookthumb.phinf.naver.net/cover/123/210/85.jpg?type=m1&udate=20170814", "author": "ì´ì¢…ì›", "price": "25000", "discount": "23250", "publisher": "한빛아카ë°ë¯¸", "pubdate": "20170717", "isbn": "1156643325 9791156643326", "description": "ì•„, ì´ í•¨ìˆ˜ëŠ」 ì´ëŸ´ ë•Œ ì「°ëŠ」구나!ì˜ˆì œë¡œ ë°°ìš°ëŠ」 시스템 호출 í•¨ìˆ˜ì˜ ê°œë…ê³¼ ì›ë¦¬ ã€Žìœ ë‹‰ìŠ¤ 시스템 í」„로그래ë°ã€. ì²˜ìŒ ì‹œìŠ¤í…œ í」„로그래ë°ì„ 배울 ë•ŒëŠ」 해당... ì´ ì±…ì€ ìœ ë‹‰ìŠ¤ì˜ ë™ìž‘ ì›ë¦¬ë¿ë§Œ ì•„ë‹ˆë¼ ìœ ë‹‰ìŠ¤ 시스템ì—ì„œ ì œê³µí•˜ëŠ」 í•¨ìˆ˜ì˜ ì›í˜•ê³¼ ê°ê°ì˜ ì¸ìžë「¤ì„ 소개한다. ë˜í•œ ê°œë…ì„ í™œìš©í•˜ëŠ」 ì˜ˆì œë¥¼ ì œì‹œí•˜ì—¬... " }, { "title": "ìœ ë‹‰ìŠ¤ 리눅스 ëª…ë ¹ì–´ ì‚¬ì „", "link": "http://book.naver.com/bookdb/book_detail.php?bid=6413239", "image": "http://bookthumb.phinf.naver.net/cover/064/132/06413239.jpg?type=m1&udate=20170103", "author": "우종경|박종오", "price": "32000", "discount": "28800", "publisher": "한빛미ë」」ì–´", "pubdate": "20101130", "isbn": "8979147937 9788979147933", "description": "ë¹ ë¥´ê²Œ 찾아 쉽게 í™œìš©í• ìˆ˜ 있ëŠ」 ìœ ë‹‰ìŠ¤ 리눅스 ëª…ë ¹ì–´ ì‚¬ì „ì´ë‹¤. ì¼ë°˜ ëª…ë ¹ì–´, ë°ëª¬ ë° ì„œë²„ì„¤ì •, RPM & DEB, VI ì—ë」」í„°, SVN & Git, 쉘 스í¬ë¦½íŠ¸ í」„로그래ë°ìœ¼ë¡œ 분류하여 ìžì„¸ížˆ 다룬다. ì´ ì±…ì€ ëª…ë ¹ì–´ì˜ ì •í™•í•œ ì´ë¦„ì„ ëª°ë¼ë„ ì–´ë」」ì— ì「°ì´ëŠ」지 알면 í•„ìš」í•œ ëª…ë ¹ì–´ë¥¼ ì°¾ì„ ìˆ˜ 있게 \'ì´ë¦„별 찾기... " }, { "title": "ìœ ë‹‰ìŠ¤ ì´ë¡ ê³¼ 실습 (ìœ ë‹‰ìŠ¤ ì „ë¬¸ê°€ë¡œ ê°€ëŠ」 첫 걸ìŒ)", "link": "http://book.naver.com/bookdb/book_detail.php?bid=7276858", "image": "http://bookthumb.phinf.naver.net/cover/072/768/07276858.jpg?type=m1&udate=20170316", "author": "ìš´ì†Œì •|ì´ì¢…ì›", "price": "23000", "discount": "21850", "publisher": "한빛미ë」」ì–´", "pubdate": "20130730", "isbn": "899875651X 9788998756512", "description": "ã€Žìœ ë‹‰ìŠ¤ ì´ë¡ ê³¼ 실습ã€ì€ ìœ ë‹‰ìŠ¤ë‚˜ ë¦¬ëˆ…ìŠ¤ì— ëŒ€í•œ 기본 지ì‹ì„ ë°°ìš°ê³ ìž í•˜ëŠ」 ì»´í「¨í„° ê´€ë ¨í•™ê³¼ì˜ í•™ë¶€ìƒì„ 대ìƒìœ¼ë¡œ 한다. ìœ ë‹‰ìŠ¤ ìž…ë¬¸ì— ê¼­ í•„ìš」í•œ 기본 기능과 ëª…ë ¹ì˜ ì‚¬ìš© ë°©ë²•ì„ ì˜ˆì œì™€ 함께 ìžì„¸ížˆ 설명하였기 ë•Œë¬¸ì— ìœ ë‹‰ìŠ¤ ê°•ì˜ êµìž¬ë¡œ ì 합하며, ë…í•™ìš©ìœ¼ë¡œë„ í™œìš©í• ìˆ˜ 있다." }, { "title": "ìœ ë‹‰ìŠ¤ & 리눅스 입문 핵심 ê°€ì´ë「œ (í…Œí¬ë„·ê³¼ 함께하ëŠ」, ì—」í„°í」„ë¼ì´ì¦ˆ ì†」ë¼ë¦¬ìŠ¤ 11으로 ë°°ìš°ëŠ」)", "link": "http://book.naver.com/bookdb/book_detail.php?bid=10371745", "image": "http://bookthumb.phinf.naver.net/cover/103/717/10371745.jpg?type=m1&udate=20161223", "author": "ê¹€ì„", "price": "20000", "discount": "18000", "publisher": "INTEK", "pubdate": "20160310", "isbn": "8996376051 9788996376057", "description": "ìœ ë‹‰ìŠ¤ ë° ë¦¬ëˆ…ìŠ¤ 입문ìžë「¤ì„ 위한 핵심 ë‚´ìš©ì„ ì •ë¦¬í•˜ê³ , 휴대가 간편하게 ê°„ì¶」ë ¸ë‹¤. ì†」ë¼ë¦¬ìŠ¤ 11ì„ ê¸°ì¤€ìœ¼ë¡œ ìµœì‹ ë²„ì „ì˜ ìœ ë‹‰ìŠ¤ì™€ 리눅스가 ëª¨ë‘ í¬í•¨ëœ 공통 ë‚´ìš©ì„ ê¸°ìˆ í–ˆë‹¤. ìœ ë‹‰ìŠ¤ ë° ë¦¬ëˆ…ìŠ¤ 시스템 관리ìžë‚˜ 개발ìž, IT ê´€ë ¨ 부서 ì‹ ìž…ì‚¬ì›ì´ë‚˜ ì»´í「¨í„° ê´€ë ¨ 학과 학부ìƒì—게 ì 합하다." }, { "title": "ìœ ë‹‰ìŠ¤ 리눅스 사용ì—ì„œ í」„로그래ë°ê¹Œì§€ (초보ìžë¥¼ 위한 ìœ ë‹‰ìŠ¤ ë° ë¦¬ëˆ…ìŠ¤ 시스템 í」„로그래ë°)", "link": "http://book.naver.com/bookdb/book_detail.php?bid=6958195", "image": "http://bookthumb.phinf.naver.net/cover/069/581/06958195.jpg?type=m1&udate=20150715", "author": "창병모", "price": "24000", "discount": "22800", "publisher": "ìƒëŠ¥ì¶œíŒì‚¬", "pubdate": "20120705", "isbn": "8970507345 9788970507347", "description": "초보ìžë¥¼ 위한 ìœ ë‹‰ìŠ¤ ë° ë¦¬ëˆ…ìŠ¤ 시스템 í」„로그래ë°ã€Žìœ 닉스·리눅스 사용ì—ì„œ í」„로그래ë°ê¹Œì§€ã€. ìœ ë‹‰ìŠ¤ ë° ë¦¬ëˆ…ìŠ¤ ì‹œìŠ¤í…œì— ëŒ€í•œ 사용법과 시스템 í」„로그래ë°ì„ 체계ì 으로 배울 수 있ë„ë¡ êµ¬ì„±ëœ ì±…ì´ë‹¤. ë³¸ë¬¸ì˜ ì „ë°˜ë¶€ì—ì„œëŠ」 ìœ ë‹‰ìŠ¤Â·ë¦¬ëˆ…ìŠ¤ ì‹œìŠ¤í…œì˜ ì‚¬ìš© ë° í™œìš©ì„ ì¤‘ì‹¬ìœ¼ë¡œ ê³µë¶€í• ìˆ˜ 있ë„ë¡... " }, { "title": "ìœ ë‹‰ìŠ¤ 시스템 í」„로그래ë°", "link": "http://book.naver.com/bookdb/book_detail.php?bid=6217299", "image": "http://bookthumb.phinf.naver.net/cover/062/172/06217299.jpg?type=m1&udate=20150723", "author": "ì´ì¢…ì›", "price": "25000", "discount": "25000", "publisher": "한빛미ë」」ì–´", "pubdate": "20100107", "isbn": "8979147155 9788979147155", "description": "150ê°œ ì˜ˆì œë¡œ ìœ ë‹‰ìŠ¤ 시스템 호출 함수를 ì •ë³µí•œë‹¤ã€Žìœ ë‹‰ìŠ¤ 시스템 í」„로그래ë°ã€ì€ ìœ ë‹‰ìŠ¤ì˜ ë™ìž‘ ì›ë¦¬ë¿ë§Œ ì•„ë‹ˆë¼ ìœ ë‹‰ìŠ¤ 시스템ì—ì„œ ì œê³µí•˜ëŠ」 í•¨ìˆ˜ì˜ ì›í˜•ê³¼ ê°ê°ì˜ ì¸ì§€ë「¤ì„ 소개한다. ë˜í•œ ê°œë…ì„ í™œìš©í•˜ëŠ」 ì˜ˆì œë¥¼ ì œì‹œí•˜ì—¬ ì²˜ìŒ ì ‘í•œ 함수ì¼ì§€ë¼ë„ ì–¸ì œ 어떻게 사용하ëŠ」지 ìžì—°ìŠ¤ëŸ½ê²Œ ì´í•´í• 수 있다." }, { "title": "ìœ ë‹‰ìŠ¤ 관리ìžë¥¼ 위한 ì—」í„°í」„ë¼ì´ì¦ˆ ì†」ë¼ë¦¬ìŠ¤ 핵심 ìš´ì˜ ê°€ì´ë「œ (í…Œí¬ë„·ê³¼ 함께하ëŠ」)", "link": "http://book.naver.com/bookdb/book_detail.php?bid=6248536", "image": "http://bookthumb.phinf.naver.net/cover/062/485/06248536.jpg?type=m1&udate=20161225", "author": "ê¹€ì„|ìž¥ì„±ê· ", "price": "32000", "discount": "28800", "publisher": "비팬ë¶ìŠ¤", "pubdate": "20100312", "isbn": "8996204560 9788996204565", "description": "ìœ ë‹‰ìŠ¤ì—ëŠ」 리눅스와 ê°™ì€ ë²」ìš©ì„±ì˜ íŠ¹ì§•ì´ ìžˆë‹¤. ë」 나아가서 ì•ˆì •ì„±ê³¼ 다양성과 확장성과 보안성까지 ê°–ì¶」ê³ ìžˆë‹¤. ë˜í•œ, 기업과 ì •ë¶€ ì¡°ì§ì—ì„œ ìœ ë‹‰ìŠ¤ê°€ ìš´ìš©ë˜ê³ 있지 ì•Šì€ ê³³ì€ ê±°ì˜ ì—†ì„ ê²ƒì´ë‹¤. ê·¸ ë§Œí¼ ì‹œìŠ¤í…œ ì—」지니어가 ë˜ê¸° 위해서ëŠ」 ì–´ë–¤ 벤ë」ì˜ ê²ƒì´ë「 ìœ ë‹‰ìŠ¤ì— ëŒ€í•œ ìš´ìš© ìŠ¤í‚¬ì„ í™•ë³´í•˜ê³ ìžˆì–´ì•¼... " }, { "title": "ìœ ë‹‰ìŠ¤ 시스템 ë„¤íŠ¸ì›Œí¬ í」„ë¡œê·¸ëž˜ë° (ì‹¤ì „ì—ì„œ ì¨ë¨¹ëŠ」)", "link": "http://book.naver.com/bookdb/book_detail.php?bid=7405657", "image": "http://bookthumb.phinf.naver.net/cover/074/056/07405657.jpg?type=m1&udate=20170216", "author": "ì‹ ìž¬í˜¸|ê¹€ì˜ìµ", "price": "30000", "discount": "27000", "publisher": "ì˜ì§„ë‹·ì»´", "pubdate": "20140102", "isbn": "8931445881 9788931445886", "description": "ìœ ë‹‰ìŠ¤ë¥¼ 좀 ë」 효율ì 으로 í™œìš©í• ìˆ˜ 있ë„ë¡ ë•ê³ ìž í•œë‹¤. ìœ ë‹‰ìŠ¤ë¥¼ ì²˜ìŒ ì ‘í•˜ëŠ」 ë…ìžë「¤ì„ 위해 필히 ìµí˜€ì•¼ 하ëŠ」 ìœ ë‹‰ìŠ¤ì˜ ê°œë…ê³¼ C와 C++ ê´€ë ¨ ë¶€ë¶„ì„ ì¶」가해 ìœ ë‹‰ìŠ¤ë¥¼ 쉽게 배울 수 있ë„ë¡ í•˜ì˜€ìœ¼ë©° 나중ì—ëŠ」 ì‹¤ì œ í」„ë¡œì 트와 ìœ ì‚¬í•˜ê²Œ ì˜ˆì œ ì‹œìŠ¤í…œì„ êµ¬í˜„í•´ë³´ëŠ」 ìžë¦¬ë„ ë§ˆë ¨í•˜ì˜€ë‹¤. 특히 ìœ ë‹‰ìŠ¤ 시스템과... " }, { "title": "ìœ ë‹‰ìŠ¤ C쉘 í」„로그래ë°", "link": "http://book.naver.com/bookdb/book_detail.php?bid=7446011", "image": "http://bookthumb.phinf.naver.net/cover/074/460/07446011.jpg?type=m1&udate=20150211", "author": "황민태", "price": "18000", "discount": "16920", "publisher": "한산", "pubdate": "20140220", "isbn": "8989215943 9788989215943", "description": "ã€Žìœ ë‹‰ìŠ¤ C쉘 í」„로그래ë°ã€ì€ 16주 ê°•ì˜ë¡œ 구성ë˜ëŠ」 ëŒ€í•™êµ ê°•ì˜ êµìž¬ì— ì´ˆì ì„ ë§žì¶」었으며, ì¼ë°˜ì¸ì´ë¼ í• ì§€ë¼ë„ ì˜ˆì œë¥¼ 중심으로 조금ì」© 배우다 ë³´ë©´ ì§§ì€ ì‹œê°„ë‚´ì— ë§ˆìŠ¤í„°í• ìˆ˜ 있ë„ë¡ êµ¬ì„±í•˜ì˜€ë‹¤. ì´ 9장으로 구성하여, ìœ ë‹‰ìŠ¤ 실습 환경 구축부터 기타 ìœ ë‹‰ìŠ¤ ëª…ë ¹ì–´ê¹Œì§€ 살펴본다." } ] }'; 
$array=json_decode($json,true)['items']; 
foreach($array as &$v){ 
    $v=array_intersect_key($v,['title'=>'','author'=>'']); 
} 
var_export($array); 

輸出:

array (
    0 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ 리눅스 ì…¸ 스í¬ë¦½íŠ¸ ì˜ˆì œ ì‚¬ì „ (ì „ë¬¸ê°€ì—게 ê¼­ í•„ìš」í•œ 132가지 실용 ì˜ˆì œ)', 
    'author' => '오스미 ìœ ìŠ¤ì¼€', 
), 
    1 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ 시스템 í」„로그래ë°', 
    'author' => 'ì´ì¢…ì›', 
), 
    2 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ 리눅스 ëª…ë ¹ì–´ ì‚¬ì „', 
    'author' => '우종경|박종오', 
), 
    3 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ ì´ë¡ ê³¼ 실습 (ìœ ë‹‰ìŠ¤ ì „ë¬¸ê°€ë¡œ ê°€ëŠ」 첫 걸ìŒ)', 
    'author' => 'ìš´ì†Œì •|ì´ì¢…ì›', 
), 
    4 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ & 리눅스 입문 핵심 ê°€ì´ë「œ (í…Œí¬ë„·ê³¼ 함께하ëŠ」, ì—」í„°í」„ë¼ì´ì¦ˆ ì†」ë¼ë¦¬ìŠ¤ 11으로 ë°°ìš°ëŠ」)', 
    'author' => 'ê¹€ì„', 
), 
    5 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ 리눅스 사용ì—ì„œ í」„로그래ë°ê¹Œì§€ (초보ìžë¥¼ 위한 ìœ ë‹‰ìŠ¤ ë° ë¦¬ëˆ…ìŠ¤ 시스템 í」„로그래ë°)', 
    'author' => '창병모', 
), 
    6 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ 시스템 í」„로그래ë°', 
    'author' => 'ì´ì¢…ì›', 
), 
    7 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ 관리ìžë¥¼ 위한 ì—」í„°í」„ë¼ì´ì¦ˆ ì†」ë¼ë¦¬ìŠ¤ 핵심 ìš´ì˜ ê°€ì´ë「œ (í…Œí¬ë„·ê³¼ 함께하ëŠ」)', 
    'author' => 'ê¹€ì„|ìž¥ì„±ê· ', 
), 
    8 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ 시스템 ë„¤íŠ¸ì›Œí¬ í」„ë¡œê·¸ëž˜ë° (ì‹¤ì „ì—ì„œ ì¨ë¨¹ëŠ」)', 
    'author' => 'ì‹ ìž¬í˜¸|ê¹€ì˜ìµ', 
), 
    9 => 
    array (
    'title' => 'ìœ ë‹‰ìŠ¤ C쉘 í」„로그래ë°', 
    'author' => '황민태', 
), 
) 
+0

謝謝。無論如何,我會嘗試。 –