본문 바로가기
[Developer]/Any

베스트셀러 Open API 활용방법(by 인터파크 도서)

by 반가운 해피빈이 2018. 12. 4.

이것은 어디까지나 적은양의 쿼리에만 해당한다.


최대 10,000건



인터파크 도서의 Open API가 현재 활용 가능하므로, 포스팅하게 되었다.(2018.12.04 기준)



1. 사이트 찾기


어딜 찾아봐도 메인 사이트 주소는 이곳이다.


http://book.interpark.com/blog/api/openApiMain.rdo


하지만...


내부의 링크가 정상적으로 동작하지 않는듯하다.




그래서 우여곡절 끝에 겨우겨우 찾아간 URL이다.


http://book.interpark.com/blog/basicInfoManageTotalForm.rdo



혹시 서비스를 언제까지 제공하는지는 모르겠지만, 문제가 된다면 나중에 다른 서점을 참고하든지, 아니면 자체 구축하는수밖에.ㅎ



2. 자신의 키 찾기




위의 메뉴를 누르면, 위의 그림에서처럼 오픈업 관리 메뉴를 누를 수 있다.


그곳에 있는 인증키를 참고하여 사용하면 된다.

(당연한 이야기이지만, 물론 인터파크 도서에 로그인 한 상태이어야 한다.)




3. 필요한 API 참고하기


이제 활용만 남았다.


다음은 Open API 메인 메뉴이다.


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




그리고 이 글의 메인인 베스트셀러 Open API에 대한 내용은 다음에서 찾을 수 있다.


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




4. 출력 형식을 지정하여 실제 호출하기




이곳의 샘플 URL을 참고하면 되며, 당연히 key를 interpark라고 넣으면 정상적으로 동작할 수가 없다.


아까 앞에서 언급한 개인키를 넣자.




실제 호출을 하면 다음과 같이 나온다.



1) json으로 출력할 경우




2) xml 로 출력할 경우





당연히 당장은 xml이 아주아주 예쁘게 나오기 때문에 xml을 선택해도 좋다.


하지만, 실제 개발시에는 gson과 같은 라이브러리가 아주 잘 되어있으므로, 요즘은 json이 더 많이 선택되는 추세이다.



자신의 형편에 따라 맞는 출력물을 선택하면 되겠다.



5. 기타 팁


그리고 앞서 말한것처럼 일일 쿼리가 10,000건 제한이니, 그 이상이 필요하다면 어려울 것이다.


향후에 더 많은 서비스를 원한다면 방법은 있다.


검색 쿼리라면 사실 별도의 계약을 하거나, 직접 검색을 유도해야 하겠지만, 현재 우리가 필요한것은 어차피 검색 쿼리가 아니므로 결과값은 정해져 있는 상황이다.



따라서, 이런것을 해결하기 위해 편한 방법으로는, 자신만의 별도의 서버를 운영하여 proxy 방법으로 끌어오는 것이 편할 것이다.(내부에 Daily로 DB구축)




댓글2

  • 2019.05.03 22:43

    비밀댓글입니다
    답글

    • 우선 답변이 너무 늦었네요.ㅜ 죄송합니다.

      일단 제 의도를 말씀드리자면, 말씀하시는 것이 맞습니다. 신규로 입력되는 책의 양이 많을 것이기 때문에, 일종의 배치로 신규 책에 대한 부분은 커버해야 할 것 같습니다.
      수집하는 요령은 각 카테고리별 베스트 00권, 혹은 발행일에 따라서 수집해도 되겠네요.
      그리고, 검색에 관한 부분은 proxy를 언급한 것은, 일단은 검색이 들어오면, 내부에 구축된 자체 서버에 수집된 책을 기준으로 찾아보고 있으면 Open API를 호출하지 않아도 되니 효율적이죠. 없는 경우 Open API를 호출하구요. 그러면 API 호출 수도 줄이고, 자주 검색되는 책에 대한 통계도 자동으로 수집할 수 있죠.

      당연히 초기에는 많지 않을 수 있어서 대부분 Open API의 호출로 커버해야 하겠지만, 시간이 가면 갈수록 내부 구축된 서버의 의존도가 높아질것입니다.