2012-12-02 5 views
2

Jsoup를 사용하여 데이터 페이지를 구문 분석하는 간단한 Java 스크립트를 만들었습니다. 그러나 사이트 제작자는 페이지를 변경 했으므로 페이지에 특정 양의 데이터가있는 경우 검색 범위를 좁힐 의견을 제시하거나 링크를 클릭하면 데이터가 표시됩니다. 솔루션을 찾으려고 노력하면서 내 머리카락을 찢어 버렸습니다. URL은 변경되지 않으며 링크의 href는 단지 javacript:void(0);입니다. 내 스크립트를 사용하여 데이터가 포함 된 html을 얻을 수있는 방법이 있습니까?javascript로 숨겨진 html 구문 분석 시도

+0

자바 스크립트를 실행해야합니다. – Vulcan

+0

jsoup를 사용하여 코드 내에서이를 수행 할 수 있습니까? 죄송합니다.이 문제를 다루는 데 어떤 경험이 없어도 google =/ – BrightEyed

+0

에 대한 확신이 없습니다. Jsoup는 Javascript를 실행하지 않습니다. 라이브러리를 전환해야 할 수도 있습니다. –

답변

1

파이어 폭스 또는 크롬의 개발자 도구를 사용하십시오. 링크를 클릭하면 아약스 호출이 발생합니다. 네트워크 탭에서 자바 스크립트가 실제로 요청한 URL과 결과가 어떻게 구조화되어 있는지 확인할 수 있습니다 (적절하게 json). 그런 다음 해당 URL에 직접 액세스하여 나머지 결과를로드 할 수 있습니다. 그 라인을 따라

또는 뭔가 Selenium와 같은 웹 브라우저를 구동하는 것을 사용하는

1

시도를 ^^. 그게 제가 사용했던 유일한 것입니다. 다른 어떤 것도 필요로하지 않았습니다. 나는 당신에게 더 잘 어울리는 다른 것들이있을 것이라고 확신한다. 몇 가지를 시험해 보거나하지 말아야한다. 일단 셀레늄 (또는 당신이 선택한 웹 드라이버)으로 javascript 요소를 얻으면이를 JSoup 요소로 파싱한다. 이 방법을 사용하면 libs를 완전히 변경할 필요가 없지만 추가하면됩니다.

또한 브라우저의 주소 표시 줄에서 변경 사항을 확인하여 자바 스크립트를 해결할 수있는 방법이 있습니다.