API 분석 하기
API 분석 하기
크롤링은 보통 3가지 정도를 알면 크롤링 할 수 있습니다.
EndPoint | 보통 url 이라고 부릅니다. |
---|---|
Parameter | url과 같이 원하는 값을 부르기 위해 필요한 요청값입니다. |
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페이지에 잘 나와있네요.
이상 응답 분석을 마칩니다.