전국에 있는 주차장 정보를 DB에 저장하여 주차장 검색 서비스를 구현하고자 한다.
공공 데이터 포털에서 제공하는 주차장 정보 제공 API
를 사용하려고 했으나, 주차장 이름, 주소 등이 공백인 데이터가 많았다.
전국 주차장 정보 표준 데이터
엑셀 데이터는 14,000여개의 주차장 정보를 가지고 있으나, 우리가 목표로 하는 대용량 데이터에 비해서는 적은 데이터였다.
50만~100만 정도의 주차장 데이터를 수집하기 위해 네이버 지도에서 주차장 정보를 크롤링하여 수집하고자 한다.
네이버 지도는 동적으로 구성된 웹페이지이다. 동적인 페이지를 크롤링하기 위해서 Selenium이 적합할 것으로 보인다.
implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '4.7.1'
testImplementation 'org.seleniumhq.selenium:selenium-java:4.7.0'
Java
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class CrawlingData {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
WebDriver driver = new ChromeDriver();
}
}
{path/to/chromedriver}
는 다운로드한 웹드라이버의 경로로 변경한다.Python
from selenium import webdriver
driver = webdriver.Chrome('./chromedriver') # 드라이버 경로