#기간 설정
year = [str("%02d" %(y)) for y in range(2019, 2025)]
month = [str("%02d" %(m)) for m in range(1, 13)]
base_date_list = ["%s%s" %(y, m) for y in year for m in month ]
defget_items(response):
root = ET.fromstring(response.content)
item_list = []
for child in root.find('body').find('items'):
elements = child.findall('*')
data = {}
for element in elements:
tag = element.tag.strip()
text = element.text.strip()
data[tag] = text
if(int(data['거래금액'].replace(",","")) <= 59999):
item_list.append(data)
return item_list
위에서 정의한 함수를 호출하여 데이터를 리스트로 저장합니다.
에러가 날 경우 어느 날짜에 어느 지역코드에서 났는지 확인하고 다음 작업을 이어서 하기 위해 예외처리를 해줍니다.
items_list = []
for base_date in base_date_list:
for gu_code in gu_code_list:
try:
#API 호출
response = get_data(gu_code, base_date)
items_list += get_items(response)
except Exception as err:
print(base_date, " ", gu_code, " error occurred")
print(base_date, " done")
※ SERVICE KEY IS NOT REGISTERED ERROR 인증키는 발급 후 약 1시간 후에 동기화되기 때문에 등록 에러가 날 수 있습니다. 1시간 후에도 동일한 에러가 난다면, 디코딩된 인증키를 입력하시면 됩니다. 그래도 안 된다면 인증키 재발급 받고 약 1시간 후에 다시 시도해보세요. (데이터 활용 > Open API > 인증키 발급현황 > 일반 인증키 재발급) 공공데이터포털 FAQ
※ LIMITED NUMBER OF SERVICE REQUESTS EXCEEDS ERROR 개발계정에서 신청가능한 일일 트래픽은 1,000입니다. 운영계정으로 활용사례 등록하고 신청하면 일일 트래픽을 1,000,000까지 증가시킬 수 있습니다. 공공데이터포털 FAQ
전국에서 거래된 2019년부터 2024년까지의 데이터를 저장하는데 약 1시간 30분 소요되었습니다.