Categories: 미분류

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

Warning: getimagesize(https://i0.wp.com/blog.kakaocdn.net/dna/YBEvR/btsJEUU24W5/AAAAAAAAAAAAAAAAAAAAACuOb7L2O5sFDGtNrI33P4xl3ZiK1ANU52QKMgkKvHKz/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip&allow_referer&signature=g7Jwt%2BfH7lWMpwOntgd4N43D55U%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.0000 360832 1. {main}() /volume1/web/aboda_re/index.php:0 0.0000 361136 2. require('/volume1/web/aboda_re/wp-blog-header.php') /volume1/web/aboda_re/index.php:17 0.1615 8714016 3. require_once('/volume1/web/aboda_re/wp-includes/template-loader.php') /volume1/web/aboda_re/wp-blog-header.php:19 0.1615 8714016 4. do_action($hook_name = 'template_redirect') /volume1/web/aboda_re/wp-includes/template-loader.php:13 0.1615 8714232 5. WP_Hook->do_action($args = [0 => '']) /volume1/web/aboda_re/wp-includes/plugin.php:517 0.1615 8714232 6. WP_Hook->apply_filters($value = '', $args = [0 => '']) /volume1/web/aboda_re/wp-includes/class-wp-hook.php:348 0.1655 8817472 7. AMPforWP\AMPVendor\amp_render('') /volume1/web/aboda_re/wp-includes/class-wp-hook.php:324 0.3358 9302024 8. AMPforWP\AMPVendor\AMP_Post_Template->load() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/includes/vendor/amp/amp.php:95 0.3358 9302024 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.3358 9302344 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.3368 9303896 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.3640 9429528 12. amp_featured_image() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/templates/design-manager/swift/single.php:45 0.3640 9429528 13. ampforwp_framework_get_featured_image() /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/components-core.php:225 0.3699 9430744 14. getimagesize($filename = 'https://i0.wp.com/blog.kakaocdn.net/dna/YBEvR/btsJEUU24W5/AAAAAAAAAAAAAAAAAAAAACuOb7L2O5sFDGtNrI33P4xl3ZiK1ANU52QKMgkKvHKz/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1767193199&allow_ip&allow_referer&signature=g7Jwt%2BfH7lWMpwOntgd4N43D55U%3D&ssl=1') /volume1/web/aboda_re/wp-content/plugins/accelerated-mobile-pages/components/featured-image/featured-image.php:64

부동산 매물 정보 수집 방법 – 부동산 데이터 크롤링 및 처리 #1 ㅣ 네이버 부동산 데이터는 매우 유용하게 활용할 수 있지만, 원하는 형태로 변환된 자료를 얻는 것은 상당히 어렵습니다. Excel의 VBA를 사용하여 데이터를 변환하는 방법이 소개되곤 하지만, Python의 뛰어난 기능을 통해 실시간 부동산 매물 정보를 크롤링하는 구체적인 방법을 공부하고 있습니다.

이제 네이버 부동산에서 방대한 데이터를 Python을 활용해 필요한 정보를 직접 수집해 보겠습니다.

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

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

네이버 부동산은 PC 환경과 모바일 환경으로 나누어져 서비스 되어지고 있으며,각각의 환경을 크롤링하는 방식도 차이가 있습니다. 두 방식 중에서 모바일 환경을 크롤링하는 방식이 보여지는 정보가 적어서 보다 유리합니다.

PC환경

모바일환경

특정 아파트 단지의 매물 정보 가져오기

아래 이미지에서는 http://m.land.naver.com에 접속하여 ‘상암월드컵파크4단지’의 매물과 관련된 정보를 보여준다. 여기서 중요한 요소는 아파트 단지의 고유 식별자인 ‘23620’과 거래 방식을 나타내는 코드 ‘A1:B1:B2 ‘입니다. 각 코드의 의미는 A1은 매매, B1은 전세, B2는 월세, 그리고 B3는 단기임대에 해당합니다.

예를 들어, 다음 주소에서 매물 정보를 확인할 수 있습니다: https://m.land.naver.com/complex/info/23620?tradTpCd=A1:B1:B2:B3&ptpNo=1&bildNo=&articleListYN=Y

네이버페이 부동산

네이버페이 부동산

m.land.naver.com

특정단지의 매물값을 가져오는 코드를 다시 작성해보면 아래와 같습니다.

import requests
import json
import pandas as pd

URL = "https://m.land.naver.com/complex/getComplexArticleList"

parameter = {
    'hscpNo': '23620', # 상암월드컵파크4단지 고유번호
    'tradTpCd': 'A1:B1:B2', # 거래방식 3가지
    'order': 'spc_', # 면적별 정열
}

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.39',
    'Referer': 'https://m.land.naver.com/'
}

page = 0
lands = []

while True:
    page = page + 1
    parameter['page'] = page

    response = requests.get(URL, params=parameter, headers=header)
    if response.status_code != 200:
        print('invalid status: %d' % response.status_code)
        break

    data = json.loads(response.text)
    result = data['result']
    if result is None:
        print('no result')
        break
    
    for item in result['list']:
        lands.append([item['tradTpNm'], item['bildNm'], item['flrInfo'], item['prcInfo'], item['spc1']])
    
    if result['moreDataYn'] == 'N':
        break
print(pd.DataFrame(lands))

 

다음편에서는 각 아파트별 정보를 얻을 수 있는 파이썬 코드를 알아보도록 하겠습니다.

urjent

Share
Published by
urjent

Recent Posts

2026 서울 벚꽃 개화시기 및 명소 소개

서울의 벚꽃 시즌은 언제나 많은 사람들에게 기대와 설렘을 안겨줍니다. 2026년에는 더욱 빠르게 찾아오는 벚꽃 개화…

8시간 ago

수원 벚꽃 개화시기 2026 명소 광교마루길 만석공원 팔달산 경기도청 황구지천

2026년 봄, 수원은 벚꽃으로 물들어 갑니다. 이 시기에 맞춰 여러분의 벚꽃 나들이를 계획해보는 건 어떨까요?…

8시간 ago

홍명보호 한국 축구대표팀 3월 명단 총정리 양현준 권혁규 홍현석 왜 뽑았나

홍명보호 한국 축구대표팀 3월 명단 총정리 양현준 권혁규 홍현석 왜 뽑았나 대표팀 명단이 발표될 때마다…

11시간 ago

2026 아카데미 시상식 총정리 케이팝 데몬 헌터스 오스카 수상

2026 아카데미 시상식 총정리 케이팝 데몬 헌터스 오스카 수상 아카데미 시상식은 세계 영화 산업에서 가장…

14시간 ago

신이랑 법률사무소 몇부작 OTT 총정리 넷플릭스에서 볼 수 있을까

신이랑 법률사무소 몇부작 OTT 총정리 넷플릭스에서 볼 수 있을까 요즘 드라마는 방송 채널보다 OTT 공개…

14시간 ago

건설근로자 결혼식 지원금 2026 총정리 60만원 신청자격 신청방법

건설근로자 결혼식 지원금 2026 총정리 60만원 신청자격 신청방법 이번 지원은 단순한 이벤트성 혜택이 아니라, 실제…

17시간 ago