繁体   English   中英

使用Jsoup获取具体URL

[英]Get concrete URL with Jsoup

我正在尝试弄清楚如何从jsoup链接中分离出无用的信息。 我应该在这里解析的一堆代码:

view-source:https://vk.com/search?c%5Bq%5D=%D0%BA%D0%BE%D1%82&c%5Bsection%5D=communities

public class TestSoup  {
    public static void main (String[] args) throws Exception {
        Document doc = Jsoup.connect("https://vk.com/smcat").get();
        Elements links;
        //links = doc.select("div > a > img ");
        links = doc.select("[data-src_big]");

        System.out.println(links);
    }
}

我现在的输出:

<img src="https://pp.vk.me/c636126/v636126727/35e1b/ludjlj7T4i8.jpg" class="ph_img" data-id="-23530818_436648332" data-src_big="https://pp.vk.me/c636126/v636126727/35e1c/a1IyGrtjzUQ.jpg|600|448">

有人可以解释我如何从输出中提取第二个链接吗? 非常感谢。

data-src_big属性 ,每个元素可以为其具有自己的值。

要遍历链接元素,可以使用

for (Element el : links){
    ..    
}

要从元素获取指定属性的值,可以使用

el.attr("attrribute_name")

如果属性的值是写为相对路径的URL地址(如./foo/bar.jpg但您希望将其作为绝对路径(如http://server.com/foo/bar.jpg获取,则可以使用

el.absUrl("attribute_name")

您只需要使用attr(name)方法从div > a > img找到的链接中同时获取srcdata-src_big

for (Element element : doc.select("div > a > img")) {
    String src = element.attr("src");
    String big = element.attr("data-src_big");
}

您可以在Jsoup Cookbook中找到它。 简而言之,您可以使用Element的attr方法

links = doc.select("[data-src_big]");
String linkStr = links.attr("data-src_big");

请注意, links的类型为Elements,而attr()仅获取第一个匹配属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM