Jsoup:如何获取图像的绝对URL?

r0u*_*u1i 36 jsoup

有没有办法在jsoup中提取图像绝对网址,就像有人可以获得链接的绝对网址一样?

考虑以下图像元素 http://www.example.com/

<img src="images/chicken.jpg" width="60px" height="80px">
Run Code Online (Sandbox Code Playgroud)

我想得到http://www.example.com/images/chicken.jpg.我该怎么办?

Jon*_*ley 67

一旦你有了image元素,例如:

Element image = document.select("img").first();
String url = image.absUrl("src");
// url = http://www.example.com/images/chicken.jpg
Run Code Online (Sandbox Code Playgroud)

或者:

String url = image.attr("abs:src");
Run Code Online (Sandbox Code Playgroud)

Jsoup 在所有节点上都有一个内置的absUrl()方法,使用节点的基本URL(可能与检索文档的URL不同)将属性解析为绝对URL.

另请参阅使用URL jsoup文档.

  • 我试过了,由于某种原因它不起作用(返回一个空字符串)(与link.attr("abs:href")不同) (2认同)

Gau*_*han 9

Document doc = Jsoup.connect("www.abc.com").get();
Elements img = doc.getElementsByTag("img");
for (Element el : img) {
String src = el.absUrl("src");
System.out.println("Image Found!");
System.out.println("src attribute is : "+src);
getImages(src);
}
Run Code Online (Sandbox Code Playgroud)