구글지도 데이터 수집하기
페이지 정보
작성자 서방님 댓글 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()
관련링크 (출처)
댓글목록
등록된 댓글이 없습니다.