python 네이버지도 정보 크롤링 배포용 ver1
작성자 정보
- 마스터 작성
- 작성일
컨텐츠 정보
- 150 조회
- 목록
본문
-컴퓨터 (노트북도 가능)
-파이썬
-웹드라이버 (크롬 버전과 맞춰야 함)
설치 해야할 라이브러리
- 셀레니움 pip install selenium
- openpyxl pip install openpyxl
코드
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import openpyxl
from datetime import datetime
wb = openpyxl.Workbook()
excl_title = datetime.today().strftime("%Y%m%d_%H시%M분")
save_path = excl_title+'.xlsx'
wb.save(save_path)
ws = wb.active
ws['A1'] = '상호명'
ws['B1'] = '업종'
ws['C1'] = '주소'
ws['D1'] = '연락처'
ws['E1'] = '키워드'
query = input("검색어를 입력하세요 : ")
driver = webdriver.Chrome()
driver.maximize_window()
url = 'https://map.naver.com/p/search/'+query
driver.get(url)
time.sleep(2)
driver.switch_to.frame('searchIframe')
for i in range(5):
for j in driver.find_elements(By.CLASS_NAME,'VLTHu'):
btn = j.find_element(By.CLASS_NAME,'P7gyV')
btn.click()
time.sleep(2)
driver.switch_to_default_content()
driver.switch_to.frame('entryIframe')
title = driver.find_element(By.CLASS_NAME,'Fc1rA')
print(title.text)
subject = driver.find_element(By.CLASS_NAME,'DJJvD')
print(subject.text)
address = driver.find_element(By.CLASS_NAME,'LDgIH')
print(address.text)
try:
tel = driver.find_element(By.CLASS_NAME,'xlx7Q')
print(tel.text)
ws.append([title.text, subject.text, address.text, tel.text , query])
except:
tel = "none"
print(tel)
ws.append([title.text, subject.text, address.text, tel , query])
wb.save(save_path)
driver.switch_to_default_content()
driver.switch_to.frame('searchIframe')
next = driver.find_elements(By.CLASS_NAME,'eUTV2')
next[1].click()
time.sleep(2)
wb.save(save_path)
사용법
프로그램 실행 후 네이버 지도에서 검색어입력을 하면
셀레니움에서 자동으로 데이터를 찾아 엑셀로 저장함
엑셀의 예시는 아래에 이미지 참고
관련자료
-
첨부등록일 2024.03.27 22:55
-
이전
-
다음