저번 포스팅 - 알라딘 중고책 프로젝트 (0) - 프로젝트 개요
알라딘 API
본격적으로 프로젝트를 시작하기 전에 내가 사용할 알라딘 API에 대해서 알아보려고 한다. 우리나라 서점 중 유일하게 Open API를 제공하고 있고, 생각보다 다양한 데이터를 받을 수 있다. 알라딘 오픈 API 블로그로 들어가면 대략적인 사용방법과 매뉴얼이 제공된다.
OPEN API 이용안내로 들어가면 API 이용절차가 다음과 같이 상세하게 나와있다.
알라딘 API를 이용하려면 먼저 TTB Key를 발급받아야 하는데, 안내문에도 나와있듯이 발급까지 대략 1~2일 정도가 걸리고, 하루에 쿼리가 5000건으로 제한된다. 나 같은 경우는 발급은 하루가 안 걸렸던 것 같고, 쿼리도 하루에 2번 밖에(많아야 4번) 안 날리기 때문에 충분했다👍
API 살펴보기
TTBKey를 발급받았다면 본격적으로 API를 살펴보자! 어떤 요청값을 주고, 어떤 응답을 받는지 자세히 알아보려면 알라딘에서 제공해주는 Open API 매뉴얼을 보면 된다.
해당 매뉴얼에는 간단하게 API를 테스트해볼 수 있는 샘플 URL도 제공해준다. 응답 내용이 궁금하다면 http://www.aladin.co.kr/ttb/api/test/ItemList_20131101.xml을 클릭하면 어떤 응답값을 받아오는지 확인할 수 있다.
사용할 데이터
간단하게 API를 살펴보았으니 이제 프로젝트에 어떤 데이터를 사용할 지 알아보자. 다양한 데이터 가운데 나는 새로 들어온 중고책 상품 리스트를 이용하려고 한다! 내가 사용하려는 데이터를 예시로 하나 가져와보았다.
<item itemId="272877854">
<title>[중고] 밤의 피크닉</title>
<link>http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=272877854&partner=openAPI&start=api</link>
<author>온다 리쿠 (지은이), 권남희 (옮긴이)</author>
<pubDate>2005-09-05</pubDate>
<description>2005년 제26회 요시카와 에이지 문학상 신인상 수상작. 일본 서점 직원들이 선정하는 제2회 서점대상 수상작이기도 하다. 1회 수상작은 국내에도 소개되어 많은 사랑을 받은 . 어린 날의 떨림과 반짝거림, 가볍게 들떠 있다가도 곧 무겁게 가라앉곤 하는 10대 시절의 공기를 예리하게 그려냈다.</description>
<isbn>U884964888</isbn>
<isbn13/>
<priceSales>3900</priceSales>
<priceStandard>8700</priceStandard>
<mallType>USED</mallType>
<stockStatus/>
<mileage>0</mileage>
<cover>https://image.aladin.co.kr/product/58/20/coversum/8937830892_2.jpg</cover>
<categoryId>50998</categoryId>
<categoryName>중고샵>국내도서>소설/시/희곡>일본소설>1950년대 이후 일본소설</categoryName>
<publisher>북폴리오</publisher>
<salesPoint>7945</salesPoint>
<adult>false</adult>
<customerReviewRank>9</customerReviewRank>
<subInfo>
<usedType>aladinUsed</usedType>
<newBookList>
<newBook>
<itemId>582029</itemId>
<isbn>8937830892</isbn>
<priceSales>10800</priceSales>
<link>https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=582029&partner=openAPI</link>
</newBook>
</newBookList>
<usedList>
<aladinUsed>
<itemCount>9</itemCount>
<minPrice>4400</minPrice>
<link>https://www.aladin.co.kr/shop/UsedShop/wuseditemall.aspx?ItemId=582029&TabType=2&partner=openAPI</link>
</aladinUsed>
<userUsed>
<itemCount>216</itemCount>
<minPrice>800</minPrice>
<link>https://www.aladin.co.kr/shop/UsedShop/wuseditemall.aspx?ItemId=582029&TabType=1&partner=openAPI</link>
</userUsed>
</usedList>
</subInfo>
</item>
가독성으로는 xml이 더 좋기 때문에 xml로 나타내긴 하였지만 실제로는 json 형식을 사용하려고 한다. 여기서 크게 제목, 작가 등 책의 기본적인 정보와 매물로 나와있는 중고책 개수, 가장 싼 가격 등을 사용하려고 한다.
앞으로...👉
API를 어떻게 사용하고, 어떤 데이터를 사용할 지 정했으니 이제 이 데이터를 어떻게 추출하고, 데이터베이스에 적재할 것인지 생각해보아야 할 것 같다. 특히 DB에 넣을 때는 중복된 데이터를 어떻게 처리할 지 고민하는 것이 관건이 될 거 같다.
'프로젝트 > 알라딘 중고책 프로젝트' 카테고리의 다른 글
알라딘 중고책 프로젝트 (5) - superset (0) | 2022.04.23 |
---|---|
알라딘 중고책 프로젝트 (4) - RDS, EC2 구축하기 (0) | 2022.04.19 |
알라딘 중고책 프로젝트 (3) - 데이터 적재하기 | 코드 완성 (0) | 2022.04.13 |
알라딘 중고책 프로젝트 (2) - 데이터 추출하기 (0) | 2022.04.08 |
알라딘 중고책 프로젝트 (0) - 프로젝트 개요 (0) | 2022.03.24 |