티스토리 뷰
그 간 여러번의 포스팅을 통해서 네이버 부동산에 대한 정보를 들여다 볼 수 있었다.
https://cocoabba.tistory.com/56
https://cocoabba.tistory.com/57
https://cocoabba.tistory.com/58
https://cocoabba.tistory.com/59
본 포스팅 부터는 전국의 모든 아파트 단지 정보를 추출하기 위한 포스팅을 진행하려고 한다.
우선 네이버 부동산에서 어떤 정보를 읽어와야 하는지, 아웃풋이 되는 엑셀에는 어떤 정보들을 담아야 하는지 본 포스팅에서 확인 후 순차적으로 포스팅을 진행할 예정이다.
목표 : 네이버 부동산에서 전국 모든 아파트/오피스텔 단지 정보 추출하기
- 항목 : 아파트, 매매가, 전세가, 평형구조, 구조 별 세부 정보
1. 네이버 부동산 단지 정보 살펴보기 (개발자 도구 포함), 결과 양식 확인하기
2. 시/도, 시/군/구, 읍/면/동 정보를 순차적으로 가져오기 (핵심)
3. Json 데이터 중 원하는 데이터 Pandas를 활용하여 Excel 에 추가하기
4. GUI 버전으로 레이아웃 구성하기
네이버 부동산에서 어떤 정보들을 보여주고 있는지 확인해보자.
이번 과정을 통해 브라우저 상 보이는 정보를 엑셀에 담을 예정이다.
특히, 매물에 대한 정보와 단지 정보 (단지 내 면적별 정보에 대해서는 한 뎁스 안으로 확인하여 기록)도 함께 저장하려고 한다.
브라우저 상 이러한 절차를 확인했으면 위 각 과정 진행 시 개발자 도구에서 우리가 원하는 데이터를 어떻게 가져와야 할 지 확인이 필요하다. 그럼 이어서 개발자도구에서의 데이터를 확인해보자!
(사실 여기가 이 전체 크롤링에서 가장 핵심이 되는 부분이다..!!!)
1. 시/도 클릭 시 개발자 도구에서 확인한 응답 패킷 확인
이 부분이 전체에서 가장 핵심이 되는 부분이다.
네이버 부동산 화면 내에서 "경기도" 탭을 클릭할 경우( "list?cortarNo=0000000000" 요청), 서울시-경기도 를 시작으로 전국 특별시-광역시-특별자치도를 포함하여 전국 17개 시/도 리스트를 json 타입으로 응답한다. 개발자 도구에서는 Network 탭에서 Type을 "Fetch/XHR" 로 선택하여 값을 확인하였다.
[개발자 도구 > network > fetch/XHR]
해당 섹션은 웹페이지가 백엔드와 통신하는 모든 비동기 요청(ajax요청 등)을 표시
- ajax는 웹페이지가 서버와 데이터를 주고받을 때 사용하는 기술
- 주로 자바스크립트에서 실행되며, 페이지를 새로고침하지 않고도 서버로부터 데이터를 가져오거나 서버에 데이터를 보내는데 사용
해당 섹션에서 보이는 각 요청은 백엔드의 특정 엔드포인트와의 통신을 나타냄
[확인할 수 있는 내용]
- 각 요청의 URL
- HTTP 메서드(GET, POST등)
- 응답 상태 코드
- 응답 시간
- 응답으로 받은 데이터의 정보를 볼 수 있음
시/도 선택에서는 "경기도"를 선택해 보았다.
2. 시/도 선택("경기도") 시 개발자 도구에서 확인한 응답 패킷 확인
비슷한 구조로 시/도 선택 화면에서 "경기도" 탭을 클릭할 경우( "list?cortarNo=4100000000" 요청), 가평군-고양시 덕양구를 시작으로 경기도 내 모든 시/군/구 리스트를 json 타입으로 응답한다. 1~2번을 잘 생각해보면, 3~4번을 예상할 수 있을 것이다.
시/군/구 선택에서는 "부천시"를 선택해 보았다.
3. 시/군/구("부천시") 선택 시 개발자 도구에서 확인한 응답 패킷 확인
비슷한 구조로 시/군/구 선택 화면에서 "부천시" 탭을 클릭할 경우( "list?cortarNo=4119000000" 요청), 계수동-고강동을 시작으로 부천시 내 모든 읍/면/동 리스트를 json 타입으로 응답한다.
읍/면/동 선택에서는 "옥길동"를 선택해 보았다.
4. 읍/면/동("옥길동") 선택 시 개발자 도구에서 확인한 응답 패킷 확인
비슷한 구조로 읍/면/동 선택 화면에서 "옥길동" 탭을 클릭할 경우( "list?cortarNo=4119011500" 요청) 해당 지역 내 모든 아파트 단지 리스트를 json 타입으로 응답한다.
이제 네이버 부동산에서 확인해야 할 대부분의 정보를 획득하였다. 실제로 위의 과정을 수행해보면, 단지 선택 시 아파트 매물 목록을 확인할 수 있다. (본 포스팅에서는 단지 목록을 가져오는 단계까지 진행 예정)
2번째 포스팅에서부터는 " 2. 시/도, 시/군/구, 읍/면/동 정보를 순차적으로 가져오기 (핵심)" 과정을 실제로 코드와 함께 진행 할 예정이다.
본 글을 읽어주시는 모든 분들 2024년 새해 복 많이 받으세요.
올해 본인이 원하는 모든 일들 꼭 이루시는 새로운 한 해 되시길 진심으로 바랍니다.
감사합니다.
'개발 > 파이썬(PYTHON)' 카테고리의 다른 글
Django - 에러 해결 방안 __str__ returned non-string (type int) (0) | 2023.06.05 |
---|---|
[PYTHON] 네이버 중고나라(joonggonara) 물건 크롤링하기-엑셀 추출 (0) | 2023.04.25 |
[PYTHON] 네이버 부동산 상가 매물 크롤링하기(4/4) (22) | 2023.04.05 |
[PYTHON] 네이버 부동산 상가 매물 크롤링하기(3/4) (34) | 2023.04.04 |
[PYTHON] 네이버 부동산 상가 매물 크롤링하기(2/4) (3) | 2023.04.03 |
- Total
- Today
- Yesterday
- PYTHON
- matplotlib
- Excel
- 단지정보
- 경제적 자유
- 크롤링
- REST API
- pandas
- 네이버 부동산
- 평형정보
- Export
- beautifulsoup
- eum.go.kr
- 매물
- 파이썬
- tkinter
- 경매
- DICTIONARY
- 오피스텔
- 상가
- 네이버 주식
- 네이버
- pyplot
- 전국
- cortarNo
- 부동산
- 크몽
- 대항력있는 임차인
- json
- 네이버쇼핑
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |