[英]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
找到的链接中同时获取src
和data-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.