[英]How to get the absolute url of img elements from an unordered list in JSoup
我正在嘗試從無序列表中的圖像屬性中提取絕對URL。 但是我無法這樣做。 我只希望無序列表中的圖像鏈接而不是整個站點。
<ul class="bjqs">
<li><img src="images/slider_img/8.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/aeration-1.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/DesalinationIII-1.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/Energy-the-global-view-1.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/Exergy-1.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/Exergy-2.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/Medical-Engg-1.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/Phovoltaic-Systems-1.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/Phovoltaic-Systems-2.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/solar-1.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/solar-2.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/solar-3.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/solar-4.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/solar-5.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/solar-6.jpg" title="Automatically generated caption" /></li>
<li><img src="images/slider_img/solar-7.jpg" title="Automatically generated caption" /></li>
</ul>
以下是到目前為止我嘗試過的。 但這只給了我第一個鏈接。 沒有其他人。
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("example.org").get();
Elements ec = doc.select("ul.bjqs");
for (Element e : ec) {
System.out.println(e.select("li").select("img").attr("src"));
}
}
您的第一個選擇器錯誤。 使用此獲取所有圖像的列表:
Elements images = doc.select("ul.bjqs > li > img");
for (Element e : images) {
System.out.println(e.attr("src"));
}
這將在HTML中打印所有相對URL。 要獲取絕對URL,可以將URI.resolve()
與基本URL結合使用:
String url = "http://example.org/";
Document doc = Jsoup.connect(url).get();
URI uri = new URI(url);
Elements images = doc.select("ul.bjqs > li > img");
for (Element e : images) {
String relative = e.attr("src");
System.out.println(uri.resolve(relative));
}
這將打印圖像的絕對URL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.