자바) 인터파크 도서 openapi json응답 피싱하기

인터파크 로그인

-> 

인증키 발급 (http://book.interpark.com/blog/api/openApiMain.rdo)

 

인터넷서점 인터파크도서

 

book.interpark.com

 

-> 

요청/응답 정보확인(http://book.interpark.com/bookPark/html/bookpinion/api_main.html )

-> 

json 정리 사이트

http://json.parser.online.fr/

 

http://book.interpark.com/bookPark/html/bookpinion/api_main.html

Book Open API 란? Open API(Open Application Programmer Interface, Open API, 공개 API)는 누구나 사용할 수 있도록 공개된 API를 말합니다. Book Open API는 인터파크도서에 등록된 도서(국내, 국외), 음반, DVD의 상품정

book.interpark.com

-> 

json simple  빌드패스 추가

https://code.google.com/archive/p/json-simple/downloads

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

프로젝트 (우클릭)-> 빌드패스 ->  Configure Build Path ->  Library ->  Add External JARs -> Apply

 

-> 코드작성

package practice;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

public class parsing {

	public static void main(String[] args) {
					// 인증키 (개인이 받아와야함)
					String key = "인증키";
					// 검색어
					String keyWord = "타이틀";
					// 검색 결과
					String result = "";
					// 문자 인코딩
					String encodeKey;
					try {
						encodeKey = URLEncoder.encode(keyWord, "UTF-8");
							/*인기 100 url*/
						URL url = new URL("http://book.interpark.com/api/bestSeller.api?key="
								+ key + "&categoryId=100&output=json");
						/*도서 검색 url*/
						url = new URL(
								"https://book.interpark.com/api/search.api?key="
								+ key
								+ "&query="
								+ encodeKey
								+ "&output=json"
								);
						BufferedReader bf;
				
						bf = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
				
						result = bf.readLine();
						System.err.println("json 응답="+result);
						
						JSONParser parser = new JSONParser();
						JSONObject bookData = (JSONObject)parser.parse(result);
					//System.err.println(bookData.toJSONString());

					JSONArray arr = (JSONArray)bookData.get("item");
					//System.err.println(arr.toJSONString());
					
					for(int i=0;i<arr.size();i++){
						JSONObject tmp = (JSONObject)arr.get(i);//인덱스 번호로 접근해서 가져온다.
						String title = (String)tmp.get("title");
						String author = (String)tmp.get("author");
						System.out.println("----- "+i+"번째 인덱스 값 -----");
						System.out.println("제목 : "+title);
						System.out.println("작가 : "+author);
					}
					
					}catch(Exception e) {
	    		e.printStackTrace();
	    	}
	    }
	}

 

'+++팁+++' 카테고리의 다른 글

m1 mysql 재설치 feat. homebrew  (0) 2022.02.11
oh my zsh feat.powerlevel10k  (0) 2022.02.11
SQL 정리  (0) 2022.01.29
몬터레이 파티션 설치  (0) 2022.01.20
MySQL) AUTO_INCREMENT 초기화  (0) 2022.01.19
Comment