ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 도서관 정보나루 오픈 API 가져오기
    공부/Java 2022. 9. 20. 08:12

    프로젝트에서 쓸 데이터를 가져오기 위해 도서관 정보나루 오픈 api를 사용할 일이 생겼다.

    https://www.data4library.kr/bigdata

     

     

    아래 코드는 도서관에 존재하는 책 데이터 100가지를 불러와 출력하는 코드이다.

    인증키의 경우 회원가입후 인증키 달라고 요청하면 평일에는 3시간내로 발급해준다.

    👨‍💻 코드

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    
    import org.json.simple.JSONArray;
    import org.json.simple.JSONObject;
    import org.json.simple.parser.JSONParser;
    
    public class BookApIService {
    
        public static void getBookApi(){
            String authKey = ""; //인증키
            String libCode = "142041"; //도서관 코드
            String pageNo = "1"; //페이지 번호
            String pageSize = "100"; //페이지 사이즈
    
            try {
                URL url = new URL("http://data4library.kr/api/itemSrch?type=ALL" +
                        "&libCode=" + libCode +
                        "&pageNo=" + pageNo +
                        "&pageSize=" +pageSize +
                        "&authKey=" + authKey + "&format=json&");
    
                BufferedReader bf;
    
                bf = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
    
                String result = bf.readLine();
    
                JSONParser jsonParser = new JSONParser();
                JSONObject jsonObject = (JSONObject) jsonParser.parse(result);
                JSONObject bookListJson = (JSONObject) jsonObject.get("response");
                JSONArray docs = (JSONArray) bookListJson.get("docs");
    
                for(int i = 0; i<docs.size();i++){
                    JSONObject temp = (JSONObject) docs.get(i);
                    JSONObject doc = (JSONObject) temp.get("doc");
                    System.out.println("bookname : " + doc.get("bookname"));
                    System.out.println("authors : " + doc.get("authors"));
                    System.out.println("publisher : " + doc.get("publisher"));
                    System.out.println("publication_year : " + doc.get("publication_year"));
                    System.out.println("isbn13 : " + doc.get("isbn13"));
                    System.out.println("bookImageURL : "+doc.get("bookImageURL"));
                    System.out.println();
                }
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }
        public static void main(String[] args) {
            getBookApi();
        }
    
    }

     

     

     

    결과

    '공부 > Java' 카테고리의 다른 글

    대부분의 자바 프로젝트는 왜 8.0버전 선호할까?  (0) 2022.07.05

    댓글

Tistory.