2013-02-23 3 views
0

하나의 비디오 리소스 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 (?)를 사용한다는 것을 알고 있지만 어떻게 작동하는지 잘 모릅니다. 생성 된 텍스트를 반환하려면 어떻게해야합니까?

답변

0

확인 마찬가지로 당신이 비디오 요소를 얻을 수있는 이미지 링크를 Jsoup: how to get an image's absolute url?

을 잡고 링크를 얻기 위해 그 위에 yourvideoelement.attr ("HREF")를 사용하려면이 질문 도와주세요은, 아니 다시

+0

반환 문제는 브라우저 (googlechrome)를 사용하는 페이지에서 video 요소를 찾을 수 없다는 것입니다. HTML을 가져 오려고 할 때 video 요소가 포함되어 있지 않습니다. 그래서 나는 비디오 요소가 항상 생성된다는 제안을했지만, 브라우저로 페이지를 열 때만 – Rinomancer