개인 토이 프로젝트 - 나만의 도서 검색 웹 서비스 (도서관 정보나루, 알라딘 API Key 신청)

💡 본 글은 스파르타코딩클럽 ‘왕초보 시작반’ 개인 프로젝트를 진행하며 작성한 내용입니다.

기획

배경

평소 읽고 싶은 책이 생기면 여러 군데를 검색합니다. 동네 도서관에서 빌릴 수 있는지, 알라딘 중고 서점에는 올라 왔는지, 회사 전자책 도서관에 있는지 등 검색하며 최대한 구매하지 않고 읽을 방법을 궁리합니다.
매번 최소 세 군데나 검색하는 번거로움을 해소하고자, 이번 기회를 통해 책을 한 번에 검색할 수 있는 웹 서비스를 개발하였습니다.

주요 기능

  • 상단: 책 제목 입력 시 실시간으로 책 목록 보여주기
  • 중단: 검색 시 도서관, 알라딘 중고 매장, 전자책 도서관 검색 결과 보여주기
  • 하단: 읽고 싶은 책이나 다음에 다시 검색해보고 싶은 책 저장하기 (장바구니 기능)

기술 스택

  • Frontend: html, css, javascript (bootstrap 무료 템플릿 적극 활용)
  • Backend: python (flask, flask-restful)
  • Database: mongoDB

Open API 이용하기

이번 프로젝트를 위한 사전 작업으로, 도서 관련 API를 검색해보았습니다.
국내 도서 검색 Open API 비교 글 참고하시면 도움이 될 겁니다.
저는 도서관과 알라딘 정보 검색이 주요 기능이었기에, 다음 두 가지 API를 사용했습니다. (지금 생각해 보니 도서 실시간 검색은 호출 건수가 큰 편인 네이버나 카카오 API 사용해도 될 듯)

🌵 개발하면서 알게 되었지만, 아래 서비스에서 제가 원하는 정보를 정확하게 응답해주는 API를 제공해주지 않았습니다. 도서 검색 결과는 API를 사용하였고, 그 외 기능은 웹 스크래핑을 통해 개발하게 되었네요.

공공도서관 API

  • 도서관 정보나루 Open API
  • 국립중앙도서관에 개발, 운영하는 서비스
  • 도서 정보, 도서관 별 대출 현황, 인기 대출 도서 등 API 제공
  • ‘데이터 활용’ 탭을 참고하여 회원가입 → 키 발급하여 사용 가능 (하루 정도면 키 발급 완료)
  • 고객 지원에 문의 남기면 대부분 하루 만에 답변해주심

알라딘 API

  • 알라딘 TTB
  • 알라딘 회원가입 후 위의 링크 접속 → 우측 TTB 사이트/블로그 등록관리 → 블로그 URL 추가 후 대기 → 하루 정도 지나 회원정보관리 페이지에 ‘판매수익 회원자격 승인 상태’라고 뜨면 API 키 사용 가능
  • 알라딘 API 사용 방법 블로그를 참고하여 상품, 검색 API 사용

최종 결과

URL을 공개하고 싶지만… API 호출 건수 제한과 보안이 마음에 걸려 영상으로 대체합니다.
개발하면서 배운 점은 조금씩 작성해보겠습니다😉


참고자료