获取加载了JS和Ajax的页面

时间:2018-06-13 06:55:11

标签: java web-crawler jsoup htmlunit

我希望使用Java从网站获取视频网址,这个网址位于video标记。使用FireFox我可以在按F12时看到此网址,但是当我按“查看网页来源”时标签不存在。我认为这是因为页面中的动态Java脚本。

我解析此页面的第一个选项:

1)Jsoup

final Document document = Jsoup.connect("url").get();

与“查看页面来源”

相同的结果

2)Html单位:

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_38);
        webClient.getOptions().setThrowExceptionOnScriptError(false);
        webClient.getOptions().setJavaScriptEnabled(true);
        HtmlPage page = null;
        try {
            page = webClient.getPage(url);
        } catch (Exception e) {
            System.out.println("Get page error");
        }
        JavaScriptJobManager manager = page.getEnclosingWindow().getJobManager();
        while (manager.getJobCount() > 0) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println(page.asXml());

与“查看页面来源相同,但有更多<script>个标记。但没有视频标记。

我的解析页面的方式是什么?

(BTW)我想解析这个标签,这在“查看页面源”

中不存在
<video class="jw-video jw-reset" disableremoteplayback="" webkit-playsinline="" playsinline="" preload="auto" src="https://iframe..." style=""></video>

0 个答案:

没有答案