Categories: '교육'

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

Warning: getimagesize(https://i0.wp.com/blog.kakaocdn.net/dna/rJJDc/btsJEjVhkPo/AAAAAAAAAAAAAAAAAAAAAPUxj8SCd3G-DX2CUFhurQDd7mhADf3LAZM3yCZhKOJF/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip&allow_referer&signature=MsKz3It8onV5VPbjs12QpXl0Xn4%3D&ssl=1): Failed to open stream: HTTP request failed! HTTP/1.1 404 File Not Found in /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/featured-image/featured-image.php on line 64 Call Stack: 0.0002 360840 1. {main}() /volume1/web/aboda_re/index.php:0 0.0003 361144 2. require('/volume1/web/aboda_re/wp-blog-header.php') /volume1/web/aboda_re/index.php:17 0.3692 8704376 3. require_once('/volume1/web/aboda_re/wp-includes/template-loader.php') /volume1/web/aboda_re/wp-blog-header.php:19 0.3692 8704376 4. do_action($hook_name = 'template_redirect') /volume1/web/aboda_re/wp-includes/template-loader.php:13 0.3692 8704592 5. WP_Hook->do_action($args = [0 => '']) /volume1/web/aboda_re/wp-includes/plugin.php:517 0.3692 8704592 6. WP_Hook->apply_filters($value = '', $args = [0 => '']) /volume1/web/aboda_re/wp-includes/class-wp-hook.php:348 0.3753 8808152 7. AMPforWP\AMPVendor\amp_render('') /volume1/web/aboda_re/wp-includes/class-wp-hook.php:324 0.5580 9262608 8. AMPforWP\AMPVendor\AMP_Post_Template->load() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/amp.php:95 0.5580 9262608 9. AMPforWP\AMPVendor\AMP_Post_Template->load_parts($templates = [0 => 'single']) /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/includes/class-amp-post-template.php:160 0.5580 9262928 10. AMPforWP\AMPVendor\AMP_Post_Template->verify_and_include($file = '/volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/templates/design-manager/swift/single.php', $template_type = 'single') /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/includes/class-amp-post-template.php:166 0.5589 9264480 11. include('/volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/templates/design-manager/swift/single.php') /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/includes/class-amp-post-template.php:501 0.5853 9390112 12. amp_featured_image() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/templates/design-manager/swift/single.php:45 0.5853 9390112 13. ampforwp_framework_get_featured_image() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/components-core.php:225 0.5912 9391328 14. getimagesize($filename = 'https://i0.wp.com/blog.kakaocdn.net/dna/rJJDc/btsJEjVhkPo/AAAAAAAAAAAAAAAAAAAAAPUxj8SCd3G-DX2CUFhurQDd7mhADf3LAZM3yCZhKOJF/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip&allow_referer&signature=MsKz3It8onV5VPbjs12QpXl0Xn4%3D&ssl=1') /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/featured-image/featured-image.php:64

부동산 매물 정보 수집하기 – 부동산 데이터 네이버 부동산 크롤링 및 가공 #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단지
...

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

urjent

Share
Published by
urjent

Recent Posts

윤남노식당 6억 대출로 압구정 오픈! 박은영·조서형 셰프 축하 현장 공개

윤남노 셰프가 6억 대출을 끌어 압구정에 프렌치 레스토랑 '비스트로 노뜨르'를 오픈했다. 6월 6일 MBC '전지적…

4시간 ago

아이유 선결제 요청 논란, 잠실 시위대 SNS 댓글 폭주와 시민 간 의견 갈림

아이유의 SNS에 잠실 시위 참가자들의 커피와 빵 선결제 요청이 폭주하고 있습니다. 6월 6일 현재 인스타그램…

10시간 ago

난닝구 사망 소식, 1세대 게임 BJ 향년 46세의 비보와 팬들의 추모 현장

1세대 게임 BJ 난닝구(본명 한태식)가 향년 46세로 6월 5일 사망했다는 비보가 게임 커뮤니티를 강타했다. 동료…

14시간 ago

손흥민, MLS 올스타 퍼스트 11 선정! 메시와 함께 뛰는 역사적 순간

손흥민이 2003년 홍명보 이후 23년 만에 MLS 올스타 퍼스트 11에 선정되며 축구계를 뜨겁게 달구고 있다.…

14시간 ago

호르무즈 유조선 발포 사태, 미군 기지 타격과 이란 보복으로 중동 긴장 최고조

2026년 6월 6일 이란 혁명수비대가 호르무즈 해협을 무허가 통과하려던 상업용 유조선 4척을 향해 발포했습니다. 미국…

16시간 ago

송파 시의원 비례대표 결과 역전…민주 80석과 국힘 38석 확정

서울 송파구 잠실7동 투표함 미개표로 서울시의회 비례대표 의석이 민주당에서 국민의힘으로 1석 전환됐습니다. 6월 3일 치러진…

23시간 ago