체험코딩

API 분석 하기

API 분석 하기

크롤링은 보통 3가지 정도를 알면 크롤링 할 수 있습니다.

EndPoint보통 url 이라고 부릅니다.
Parameterurl과 같이 원하는 값을 부르기 위해 필요한 요청값입니다.
Header인증 정보나 기타 값을 넣어야 할 수 있습니다.

그럼 우리가 신청한 공공데이터인 “국토교통부_아파트매매 실거래자료”를 분석해 보겠습니다.

이전 시간에 제가 pdf로 만들어 드린 데이터포털에서 제공한 문서를 보면, 3페이지에 서비스 URL이 있네요.

이 주소가 EndPoint 입니다.

http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/se%20rvice/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade

위 정보는 웹사이트에서도 볼 수 있습니다.

이제는 요청 파라미터를 보겠습니다. 페이지를 조금 내려보면 아래와 같이 요청 메시지 명세가 보이죠?

이 부분이 요청 파라미터입니다.

그리고 헤더 값은, 이 API에서는 필요하지 않습니다.

인증 정보를 보통은 헤더값으로 보내라고 하는데, 요청인자에 serviceKey를 보내면 되는 API입니다.

API 요청 보내보기

자 이제 API 분석은 끝났으니, 테스트로 한번 시도해보겠습니다.

미리 설치한 Postman을 실행하여 WorkSpace를 하나 선택하고,

Collection을 만듭니다.

이름은 Tstudy로 하겠습니다.

Request도 하나 만들어 봅니다. Add a request 를 눌러봅니다.

위와 같이 대충 입력하고, 이제 Endpoint와 Parameter를 채워보겠습니다.

GET 옆에 Enter URL or paste text 라고 보이는 곳에, 아래와 같이 입력해 봅니다.

http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade?LAWD_CD=11710&DEAL_YMD=202306&serviceKey=여러분의_인코딩된_서비스키

여러분이 이전에 신청하여 이메일로 받은 키를 입력해보세요.

아래와 같이 파라미터를 자동으로 Query Params라는 부분에 채워줍니다.

이제 Send 버튼을 눌러보겠습니다. 응답결과가 보입니다.

하지만, 나중에 결과를 처리할 때는 xml보다는 json이 나을 것 같습니다.
공식문서에는 없지만 아래 그림과 같이 Headers를 클릭하고 'Accept'을 추가해봅니다.

Accept
application/json, text/plain, */*

그리고 Send를 눌러봅니다.

json 결과값으로 잘 나왔네요.

그런데 postman 화면이 Header나 Parmas를 한눈에 안보이고 복잡합니다. 저는 조금 더 잘 보기위해 아래와 같이 View를 바꿔봅니다.

개인 취향이므로 여러분이 보기 편한 방식을 선택하시면 됩니다.

응답(Response) 분석 하기

응답 구조 보기

다시 postman으로 돌아가서, 아래와 같이 json의 body > items > item의 Tree를 접어봅니다.

response 가 최상위 root 고 그 밑에 header 와 body 노드가 있습니다.

header에는 결과코드와 메시지가 있네요. 이 결과 코드를 기반으로 성공/실패 분기 처리를 하면 되겠네요.

그리고 성공했을 경우 body노드를 분석하면되고, totalCount라는 엘리먼트를 제공해주니, 페이징 구현이 쉽겠네요.

이 api는 설계가 비교적 잘 되어 있습니다.

그리고 body > items > item 을 실제 목록이 되겠습니다.

응답의 목록 아이템 보기

위 응답값이 무엇을 의미하는지 다시 문서를 살표 보겠습니다. 5페이지에 잘 나와있네요.

이상 응답 분석을 마칩니다.