프로젝트를 하다가 곤란한 상황을 만났다.
jsoup를 사용해서 신나게 크롤링 코드를 짰는데 jsoup는 html element가 추가되는 경우, 그 값을 가져올 수 없었다.
그리고 아무래도 문제를 해결하기 위해서 이걸 selenium으로 다시 구현해야 할 것 같다.
아휴... 셀레니움은 쓰기 싫은데...
먼저 문제가 되는 부분을 살펴보자.
데이터를 가져와야 할 페이지를 보면 다음과 같다.
이 페이지에서 장비의 정보를 가져오는 방법은 장비 이미지를 클릭해야만 한다.
이미지를 클릭하면 이런식으로 url을 요청해서 데이터를 가져온다.
문제는 위에서 말했듯이 jsoup는 프론트 단에서 ajax 같은 비동기요청을 통해 데이터를 가져오는식으로 해서
html element가 추가되는 경우는, 그 값을 가져올 수 없다고 한다.
스오플 사랑해요...
저게 2013년인데 지금 2022년이니까 다른 방법이 있지 않을까 싶었는데... 역시 안되는 것 같다.
그래도 뭐, 애초에 셀레니움이라는 확실한 방법이 있어서 더 찾아볼 필요도 없긴하다.
이제 내가 코드를 처음부터 다시 작성해야 한다는 문제만 남았네...이런
일단 기록해두기 위해서 작성해두는거고...
나머지는 코드 작성하고나서 마저 써야겠다.
'공부 > java & Spring' 카테고리의 다른 글
[기록용] 스프링 부트 프로젝트 생성하기1 (0) | 2023.04.12 |
---|---|
[스프링에서 크롤링 데이터 수집하기] java selenium (feat. 메이플스토리 랭킹정보 수집) (0) | 2023.02.07 |
[Spring boot] 스프링 부트 인텔리제이 개인 세팅 기록용 (0) | 2022.11.29 |
[Thread pool 설정] 스프링 부트 스레드 개수 조절하기 (0) | 2022.11.20 |
[Spring boot] intellij 자동빌드 설정하기 (0) | 2022.11.04 |
댓글