부동산 매물 정보 수집하기 - 부동산 데이터 네이버 부동산 크롤링 및 가공 #3

반응형

부동산 매물 정보 수집하기 - 부동산 데이터 네이버 부동산 크롤링 및 가공 #3 ㅣ 부동산 시장에서 아파트 단지에 대한 정보는 투자자와 구매자에게 매우 중요한 요소입니다. 특히, 특정 지역의 아파트 단지 정보를 효율적으로 수집하는 방법은 데이터 기반의 의사결정을 가능하게 합니다. 이번 포스트에서는 네이버 부동산 API를 활용하여 특정 법정동에 위치한 아파트 단지의 이름과 고유 코드를 조회하는 방법에 대해 자세히 알아보겠습니다.

부동산 매물 정보 수집하기 - 부동산 데이터 네이버 부동산 크롤링 및 가공 #3

2024.09.15 - [부동산/자동화 프로젝트] - 부동산 매물 정보 수집하기 - 부동산 데이터 네이버 부동산 크롤링 및 가공 #1

2024.09.15 - [부동산/자동화 프로젝트] - 부동산 매물 정보 수집하기 - 부동산 데이터 네이버 부동산 크롤링 및 가공 #2

부동산 매물 정보 수집하기 - 부동산 데이터 네이버 부동산 크롤링 및 가공 #3

1. 법정동과 행정동의 이해

법정동은 정부에서 정한 공식적인 동의 기준으로, 부동산 관련 데이터에서 주로 사용됩니다. 행정동은 행정 구역을 기준으로 하며, 법정동과 행정동의 코드는 정부에서 사용하는 동일한 체계를 따릅니다. 예를 들어, 마포구 상암동의 법정동 코드는 "1144012700"입니다. 이 코드를 사용하여 해당 지역의 아파트 단지 정보를 조회할 수 있습니다.

2. 법정동 코드 조회

법정동 코드는 정부의 행정표준코드관리시스템에서 확인할 수 있습니다. 이 시스템에서는 각 지역의 법정동 코드와 이름을 조회할 수 있으며, 필요한 정보를 쉽게 찾을 수 있습니다. 예를 들어, 마포구 상암동의 법정동 코드는 다음과 같이 확인할 수 있습니다:

  • 법정동 코드: 1144012700
  • 법정동명: 상암동

이 정보를 바탕으로 아파트 단지 정보를 조회할 수 있습니다.

반응형

3. 필요한 라이브러리 설치

Python을 사용하여 네이버 부동산 API에 접근하기 위해서는 requests, json, pandas 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 필요한 라이브러리를 설치할 수 있습니다.

pip install requests pandas

4. 아파트 단지 정보 조회 코드

이제 법정동 코드를 사용하여 아파트 단지 정보를 조회하는 코드를 작성해 보겠습니다. 아래는 마포구 상암동의 아파트 단지 정보를 조회하는 코드입니다.

import requests
import json
import pandas as pd

def get_apt_list(dong_code):
    down_url = 'https://new.land.naver.com/api/regions/complexes?cortarNo=' + dong_code + '&realEstateType=APT&order='
    header = {
        "Accept-Encoding": "gzip",
        "Host": "new.land.naver.com",
        "Referer": "https://new.land.naver.com/complexes/102378?ms=37.5018495,127.0438028,16&a=APT&b=A1&e=RETAIL",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-origin",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
    }
    r = requests.get(down_url, data={"sameAddressGroup": "false"}, headers=header)

    r.encoding = "utf-8-sig"
    temp = json.loads(r.text)
    try:
        temp = pd.DataFrame(temp['complexList'])[['complexNo', 'complexName']]
    except:
        temp = []
    return temp

apt_list = get_apt_list('1144012700')
print(apt_list)

코드 설명

  1. 라이브러리 임포트: requests, json, pandas 라이브러리를 임포트합니다.
  2. get_apt_list 함수 정의: 이 함수는 법정동 코드를 입력받아 해당 지역의 아파트 단지 정보를 조회합니다.
  3. API 요청 URL 설정: down_url 변수에 API 요청 URL을 설정합니다. 이 URL은 법정동 코드와 아파트 유형을 포함합니다.
  4. 헤더 설정: API 요청에 필요한 헤더를 설정합니다. 이 헤더는 요청의 출처를 명시하고, 브라우저에서 요청한 것처럼 보이게 합니다.
  5. API 요청 및 응답 처리: requests.get 메서드를 사용하여 API에 GET 요청을 보냅니다. 응답을 JSON 형식으로 파싱하고, 아파트 단지 정보를 DataFrame으로 변환합니다.
  6. 결과 출력: apt_list 변수에 저장된 아파트 단지 정보를 출력합니다.

5. 실행 결과

위 코드를 실행하면 마포구 상암동에 위치한 아파트 단지의 이름과 고유 코드가 출력됩니다. 예를 들어, 다음과 같은 결과를 얻을 수 있습니다.

   complexNo          complexName
0   12345678         상암동 아파트 1단지
1   23456789         상암동 아파트 2단지
...

이 결과는 상암동에 위치한 아파트 단지의 고유 코드와 이름을 포함하고 있습니다. 이를 통해 사용자는 특정 지역의 아파트 단지 정보를 쉽게 확인할 수 있습니다.

728x90
반응형