使用 Jsoup 解析 html 个元素

parse html elements using Jsoup

我想从下面的 html 中检索 "data-default-src" 的值。似乎正文位于 shadow-root 节点中或隐藏在源代码中。这只能通过 chrome 的检查元素功能看到,而不是在完成 ctrl+u 时看到。

<body onload="handleOnLoad();" style="margin:0;padding:0;width:100%;height:100%;
position:relative;overflow:hidden" id="myPlayer" 
data-default-src="https://cdn.video.playwire.com/12272/videos/4483914/video-sd.mp4?hosting_id=12272">

这是我目前尝试过的方法:

Elements media = doc.select("body");

            for (Element links: media) 
            {
            System.out.println((links.attr("abs:data-default-src")));
            }

还有这个:

Element body = doc.body();
System.out.println(body.attr("data-default-src"));

您可以尝试 HTMLUnit,这是一个提供无头浏览器的库。有了它,您可以加载页面,就好像您真的在访问它一样,导致所有 javascript 被评估,并且任何动态内容被插入到 DOM 中。在那里你可以选择使用 HTMLUnit 的 DOM API 或者把它扔进 JSoup.