使用 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.
我想从下面的 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.