웹 크롤링 경험이 많이 없는 입문자입니다. Jsoup이 어디까지 가능한지 잘 모르고 있고, 또, 오류 내용 이해가 명확하지 않아 어떤 방향으로 해결을 모색해야 맞는 것인지 막막한 상황입니다.
제가 받게 된 오류 메시지는 'java.lang.stackoverflowerror' exception. cannot evaluate org.jsoup.nodes.Document.toString() 이고 다음 코드를 수행하면서 발생합니다.
Document document = Jsoup.connect(url).get();
위 코드에서 사용된 url은 csv 데이터 파일을 다운로드 할 수 있는 동적 다운로드 링크 입니다. 다이렉트 링크가 아닙니다. 다운로드 되는 csv 파일은 크기가 1MB에 못미치고요. 작업 중인 프로젝트의 테스트 기기로 안드로이드 스튜디오의 가상머신 1개와 블루스택을 사용하고 있는데, 당황스러운 점은 이 오류가 블루스택에서만 발생한다는 것입니다.
질문 1. 위 오류 메시지는 어떠한 경우 발생하는 것인가요?
고작 1MB 크기의 데이터로 StackOverflow라니, Jsoup의 get()에서 재귀적으로 동작하는 부분이 있고, 그 부분에서 문제가 생긴 것이 아닌가 막연히 추정만 하고 있습니다.
질문 2. 어떤 방향으로 해결을 해야 할까요?
전혀 감을 못잡고 있습니다. 애초에 HTML이 아니라 파일을 Document에 때려넣은 것 자체가 문제의 시작인지도 모르겠습니다. (안드로이드 가상머신에서는 잘 동작합니다만...) 만약 맞다면 동적 다운로드 링크에서 제공하는 파일은 보통 어떤 식으로 받는지 힌트 좀 주시면 감사하겠습니다.