국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기는 완성할 때까지 연재됩니다.
(지난 이야기)
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(1-기본세팅)
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(2-샘플코드 파이썬3로 변환하기)
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(3-API 호출 성공)
안녕하세요
국토교통부_전월세 자료 API를 활용해서 웹페이지를 만들어보는 개발을 하는 중인데요
지난 포스팅에 이어서 이번에는 지난 번에 test.py에서 자료를 호출하고 json으로 반환에 성공했던 코드를
함수로 만들고 app.py에서 그 함수를 불러와 보겠습니다
프로젝트 하위에 api 폴더를 만들고 rentprice.py 파일을 만들어
test.py에서 작성한 코드를 붙여넣어줍니다
그리고 이 코드를 함수로 바꿔줄 건데요
아래 처럼 코드를 입력해줍니다
from urllib.request import Request, urlopen
from urllib.parse import urlencode, quote_plus
import json
import xmltodict
def rentprice(LAWD_CD, DEAL_YMD) :
url = 'http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptRent'
serviceKey = '서비스키'
queryParams = '?' + urlencode({
quote_plus('ServiceKey') : serviceKey,
quote_plus('LAWD_CD') : LAWD_CD,
quote_plus('DEAL_YMD') : DEAL_YMD
})
request = Request(url + queryParams)
request.get_method = lambda: 'GET'
response_body = urlopen(request).read()
# xml을 json으로 담기
jsonString = json.loads(json.dumps(xmltodict.parse(response_body), ensure_ascii=False))
# json에서 필요한 자료가 담긴 리스트를 results 변수에 담기
results = jsonString['response']['body']['items']['item']
return results
# # 반복문으로 각각 데이터 표시해보기
# for i in range(len(results)) :
# result = results[i]
# print(result)
위 코드를 설명해보자면 아래 그림처럼
rentprice라는 함수를 선언하고 법정동코드와 거래연월을 함수에서 받을 변수로 지정합니다
그리고 함수안에 기본 예시로 입력되있던 법정동코드와 거래연월을 변수값으로 교체해주고
마지막에 리스트로 받아오는 results 를 반환하는 것으로 지정해줍니다
반복문의 경우 이 results 리스트를 프런트앤드로 보낸 뒤에 거기서 반복문을 실행시켜줄 거라
지금은 주석처리해줍니다
이제 이것을 app.py에서 불러와서 실행해보겠습니다
app.py에 아래 처럼 입력을 하고 실행을 해볼텐데요
잠깐 설명을 드리자면
import api.rentprice as rentprice
이 코드는 api 폴더 안에 rentprice.py라는 파일을 불러오겠다!
그런데 매번 api.rentprice 라고 쓰기는 번거로우니 as rentprice를 통해서
app.py안에서는 그냥 rentprice라고만 쓰겠다! 라고 선언한것이구요
results = rentprice.rentprice('11110','202106')
print(results)
app.py 안에 results 라는 변수를 새로 생성하고
아까 선언한 rentprice안에 rentprice라는 함수를 불러오는데
입력해야하는 변수 2가지는 괄호 안에 값으로 하겠다
그런 뒤 results를 출력해다오~
라는 의미의 코드입니다
그러면 아래 보시는 것처럼 test.py에서 실행했던 것과 같은 결과를
app.py에서 얻으실 수 있습니다
다음 포스팅에서는 rentprice함수에 변수 2가지를 직접 입력했다면
이 법정동 코드와 거래연월을 프런트앤드에서 서버로 POST 요청을 통해 보내고
서버로 들어온 POST 요청에 따라 result값을 프런트앤드에 전달하는 것을 해보겠습니다
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(6-프런트앤드 화면 만들고 콘솔에 결과 띄우기 시도) (0) | 2021.06.17 |
---|---|
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(5-프런트앤드와 백앤드 통신 시도 준비) (1) | 2021.06.17 |
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(3-API 호출 성공) (0) | 2021.06.16 |
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(2-샘플코드 파이썬3로 변환하기) (1) | 2021.06.11 |
국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(1-기본세팅) (2) | 2021.06.10 |
댓글 영역