【发布时间】:2022-01-02 09:11:37
【问题描述】:
我正在尝试从网站的 html 获取链接,但使用 Jsoup 无法这样做。
这是 HTML:
<div class="anime_muti_link">
<ul>
<li><div class="doamin">Domain</div><div class="link">Link</div></li>
<li class="anime">
<a href="#" class="active" rel="1" data-video="example.com" ><div class="server m1">Server m1</div><span>Watch This Link</span></a>
</li>
<li class="anime">
<a href="#" rel="1" data-video="example.com" ><div class="server m1">Server m2</div><span>Watch This Link</span></a>
</li>
<li class="xstreamcdn">
<a href="#" rel="29" data-video="example.com">Xstreamcdn</div><span>Watch This Link</span></a>
</li>
<li class="mixdrop">
<a href="#" rel="7" data-video="example.com"><div class="server mixdrop">Mixdrop</div><span>Watch This Link</span></a>
</li>
<li class="streamsb">
<a href="#" rel="13" data-video="example.com">StreamSB</div><span>Watch This Link</span></a>
</li>
<li class="doodstream">
<a href="#" rel="14" data-video="example.com">Doodstream</div><span>Watch This Link</span></a>
</li>
</ul>
</div>
这是我编写的似乎不起作用的 android 代码:
try {
Document doc = Jsoup.connect(URL).get();
Elements content = doc.getElementsByClass("anime_muti_link");
Elements links = content.select("a");
String[] urls = new String[links.size()];
for (int i = 0; i < links.size(); i++) {
urls[i] = links.get(i).attr("data-video");
if (!urls[i].startsWith("https://")) {
urls[i] = "https:" + urls[i];
}
}
arrayList.addAll(Arrays.asList(urls));
Log.d("CALLING_URL", "Links: " + Arrays.toString(urls));
} catch (IOException e) {
e.getMessage();
}
有人可以帮我解决这个问题吗?谢谢
编辑:基本上我正在尝试获取这 6 个链接并将它们添加到我的列表中以在应用程序中使用它。
编辑 2:
所以我找到了另一个看起来更好的 HTML:
<div class="heading-servers">
<span><i class="fa fa-signal"></i> Servers</span>
<ul class="servers">
<li data-vs="https://example.com" class="server server-active" style="display: block;" onclick="return loadIframe('ifrm', this.getAttribute('data-vs'));">Netu</li>
<li data-vs="https://example.com" class="server" style="display: block;" onclick="return loadIframe('ifrm', this.getAttribute('data-vs'));">VideoVard</li>
<li data-vs="https://example.com" class="server" style="display: block;" onclick="return loadIframe('ifrm', this.getAttribute('data-vs'));">Doodstream</li>
<li data-vs="https://example.com" class="server" style="display: block;" onclick="return loadIframe('ifrm', this.getAttribute('data-vs'));">Okstream</li>
</ul>
</div>
【问题讨论】:
标签: java android android-studio jsoup