如何通过标记从HTML获取图像路径(使用Jsoup)

时间:2015-09-24 22:57:55

标签: java android html jsoup

我想从标记<img>

获取图片网址src

E.g我有来自facebook的这个html数据:

<img class="profilePic img" alt="Facebook Developers" src="https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p320x320/9988_10151403325753553_1486509350_n.png?oh=ecdfcf4b449779941db77b52950843b3&amp;oe=568F1F42&amp;__gda__=1453778308_a1ffaea01e68e9dade86f1b11989a50d">

如何只使用 class =&#34; profilePic img&#34; 属性或类名来获取图像src?知道我该怎么做?我正在使用Jsoup库。

3 个答案:

答案 0 :(得分:1)

您可以通过调用getElementsByTag('img')获取所有图片,然后调用select(".your_class_name")以仅获取具有指定类(或任何其他查询)的图像

e.g:

Jsoup.connect("http://stackexchange.com").get().getElementsByTag("img").select(".favicon")

答案 1 :(得分:0)

试试吧

 Document document = Jsoup.connect("yourLink").get();
 String img_url = document.select("img[class=profilePic img]").first().attr("src");
 Log.d('Src image: ', img_url);

记住:在其他线程中解决它,而不是主线程:)

答案 2 :(得分:0)

JSoup CSS通过连接提供多个类选择。类的CSS选择器是.profilePic.img。选择这两个类意味着连接:.profilePic.img。所以这应该是你的代码:

 document.select("img.profilePic.img")

这比img[class=profilePic img]更好,因为后者将完全查找字符串&#34; profilePic img&#34;。但是,类可能以不同的顺序出现,或者在您解析的文档中有更多的空格。

要获取所有img元素的src属性,您需要遍历结果:

Elements imgs = document.select("img.profilePic.img");
for (Element img : imgs){
    String srcStr = img.attr("src");
    //do what ever you need to do with srcStr 
}