python

python 네이버지도 정보 크롤링 배포용 ver1

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

준비물

-컴퓨터 (노트북도 가능)

-파이썬

-웹드라이버 (크롬 버전과 맞춰야 함)

 

설치 해야할 라이브러리

- 셀레니움     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)

 

사용법

2.png

프로그램 실행 후 네이버 지도에서 검색어입력을 하면 

셀레니움에서 자동으로 데이터를 찾아 엑셀로 저장함 

엑셀의 예시는 아래에 이미지 참고

 

1.png

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0