以下是我的示例代码,并从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 :(得分: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=12321085", "image": "http://bookthumb.phinf.naver.net/cover/123/210/12321085.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' => '황민태',
),
)