728x90
- Notion에서 Tistory로 자동업로드하는 프로젝트를 진행중에 정적 웹 크롤링과 동적 웹 크롤링이 다르다는 것을 알게 되었다. 그래서 동적 웹 크롤링을 따로 공부해야했다.
Selenium
- 셀레니움은 웹 애플리케이션을 실행시켜볼 수 있는 프레임워크이다. 자동 로그인, 자동 글쓰기, 자동 클릭 등 많은 기능을 사용할 수 있다.
- 의존성 Gradle
implementation 'org.seleniumhq.selenium:selenium-java:4.6.0'
- Chrome Driver 다운로드
- 크롬 우측 위 … 클릭
- 도움말 Chrome 정보 클릭 후 버전 확인
- https://chromedriver.chromium.org/downloads 사이트에서 맞는 Chrome driver 다운로드
다운받은 chromedriver를 위처럼 설정
TEST
- 세팅
@GetMappint("TEST")
public void crawlingSelenium(String url) throws InterruptedException, IOException {
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("<https://www.naver.com/>");
System.out.println(driver.getPageSource());
driver.quit();
}
위 코드는 간단하게 네이버 사이트에서 HTML 코드를 가져오는 코드이다.
결과
정상적으로 네이버의 HTML 코드를 가져온 모습이다. 이후
driver.findElements(By.*className*("whenContentEditable")
같은 findElements 함수를 통해 적절하게 파싱하며 원하는 정보를 사용할 수 있다.
'Dev > Spring Boot' 카테고리의 다른 글
Spring Boot - 로그를 남기는 법 : @SLF4J (0) | 2024.02.28 |
---|---|
Spring Boot 외부 파일 경로 설정 (2) | 2024.01.09 |
Spring Security - 로그인 처리 과정 (0) | 2023.07.30 |
우분투에서 MySql 실행법 (0) | 2023.07.30 |
Spring Security - configure, WebSecurityConfigurerAdapter를 사용하여 권한 체크 (0) | 2023.07.23 |