구글지도 데이터 수집하기 > python

본문 바로가기
사이트 내 전체검색

python

구글지도 데이터 수집하기

페이지 정보

작성자 서방님 댓글 0건 조회 125회 작성일 20-08-11 10:41

본문

#1. 구글지도 검색 이용 프로세스

 1. 구글 지도 페이지에 접속한다.

 2. 입력창에 키워드(카페)를 입력한다.

 3. 검색버튼을 누른다.

 --- 지연 ---

 4. 검색 결과를 확인한다.

 5. 다음페이지를 누른다.

   4. / 5. 를 반복한다.

   다음페이지가 없으면 반복을 종료한다.


#2. Selenium으로 구현하기

from selenium import webdriver
import time

# 크롬창(웹드라이버) 열기
driver = webdriver.Chrome("./chromedriver")

# 구글 지도 접속하기
driver.get("https://www.google.com/maps/")

# 검색창에 "카페" 입력하기
searchbox = driver.find_element_by_css_selector("input#searchboxinput")
searchbox.send_keys("카페")

# 검색버튼 누르기
searchbutton = driver.find_element_by_css_selector("button#searchbox-searchbutton")
searchbutton.click()

# 여러 페이지(999)에서 반복하기
for i in range(999):
    # 시간 지연
    time.sleep(3)

    # 컨테이너(가게) 데이터 수집 // div.section-result-content
    stores = driver.find_elements_by_css_selector("div.section-result-content")

    for s in stores:
        # 가게 이름 데이터 수집 // h3.section-result-title
        title = s.find_element_by_css_selector("h3.section-result-title").text

        # 평점 데이터 수집 // span.cards-rating-score
        # 평점이 없는 경우 에러 처리
        try:
            score = s.find_element_by_css_selector("span.cards-rating-score").text
        except:
            score = "평점없음"

        # 가게 주소 데이터 수집 // span.section-result-location
        addr = s.find_element_by_css_selector("span.section-result-location").text

        print(title, "/", score, "/", addr)

    # 다음페이지 버튼 클릭 하기
    # 다음페이지가 없는 경우(데이터 수집 완료) 에러 처리
    try:
        nextpage = driver.find_element_by_css_selector("button#n7lv7yjyC35__section-pagination-button-next")
        nextpage.click()
    except:
        print("데이터 수집 완료.")
        break

# 크롬창 닫기
# driver.close()

댓글목록

등록된 댓글이 없습니다.

Total 15건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
4
어제
51
최대
1,347
전체
153,634
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.