하나의 비디오 리소스 cinemaonline.kg를 구문 분석하여 비디오 파일에 대한 링크를 가져 오려고합니다. 처음에는 열린 페이지를 메모장에 저장하려고했습니다. 나는 그것을보고 발견 :HTMLUNIT java javascript ajax
[a id="onlineplayer" onmouseover="jQuery('a#onlineplayer').fancybox({'width' :
'8', 'height' : 430, 'autoScale' : true, 'transitionIn' :
'none', 'transitionOut' : 'none', 'type' : 'iframe' ,
'closeClick' : 'false' , 'hideOnOverlayClick':false,
'hideOnContentClick':false});" onclick="window.ui.hitMovie(74);window.ui.setFileDownloaded(74);" class="minibutton" href="http://cinemaonline.kg/pl.php?player=ftp&uid=1953&movieid=74&fileid=74&v=6b576ed87c32f85f9252e80591ca1228">[span]Смотреть[/span][/a]
<> - 그들이 보여되지 않았기 때문에, [] -이 문자가이 문자로 변경되었습니다.
그래서 나는 jsoup로 그것을 잡으려고 노력했다. 하지만 그것은 nullpointer 예외를 반환했습니다. 나는 페이지의 반환 된 String을 보았고 아무 태그도 없었습니다 [id = "onlineplayer"...]. 나는 어쩌면 페이지는 항상 하나의 스크립트에 의해 생성되고, 생각 :
String url = "http://cinemaonline.kg/#/movie/id/74";
WebClient webClient = new WebClient();
webClient.setJavaScriptEnabled(true);
HtmlPage page = null;
webClient.setThrowExceptionOnFailingStatusCode(false);
webClient.setThrowExceptionOnScriptError(false);
try {
page = webClient.getPage(url);
} catch (FailingHttpStatusCodeException e1) {
e1.printStackTrace();
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
webClient.waitForBackgroundJavaScript(10000);
webClient.closeAllWindows();
System.out.println(page.asXml());
그러나 그것은 나에게 같은 반환 : 내가 HtmlUnit과 함께 구문 분석을 시도보다
[a id=\"onlineplayer\" onmouseover=\"jQuery(\'a#onlineplayer\').fancybox({\'width\' : \'8\',
\'height\' : 430, \'autoScale\' : true, \'transitionIn\' : \'none\', \'transitionOut\' : \'none\',
\'type\' : \'iframe\' , \'closeClick\' : \'false\' , \'hideOnOverlayClick\':false,
\'hideOnContentClick\':false});\" onclick=\"window.ui.hitMovie(${movie.movie_id});window.ui.setFileDownloaded(${file.file_id});\" class=\"minibutton\"
href=\"${file.links.license|escape}\"][span]Смотреть[/span][/a]
jsoup에 의해 반환 된 텍스트. 페이지에서 javascript와 ajax (?)를 사용한다는 것을 알고 있지만 어떻게 작동하는지 잘 모릅니다. 생성 된 텍스트를 반환하려면 어떻게해야합니까?
반환 문제는 브라우저 (googlechrome)를 사용하는 페이지에서 video 요소를 찾을 수 없다는 것입니다. HTML을 가져 오려고 할 때 video 요소가 포함되어 있지 않습니다. 그래서 나는 비디오 요소가 항상 생성된다는 제안을했지만, 브라우저로 페이지를 열 때만 – Rinomancer