jsoup如何从div属性中选择

时间:2016-05-05 18:54:32

标签: java jsoup

如何从此代码中选择网址

<div class="main_news_lp_img3" 
     onclick="location.href='?news_view=77f1f3883c4ceac3'" 
     style="background-image: url('uploads/resize2/61b96f91b599c754461eca5891a87951.JPG');">
</div>

我想选择url()内容 - 此部分

uploads/resize2/61b96f91b599c754461eca5891a87951.JPG

2 个答案:

答案 0 :(得分:0)

就像这样(伪):

编辑:

htmlDocument = Jsoup.connect(HtmlUrl).get();
Elements articles = htmlDocument.select(DIV);
String url = null;
for (Element article : articles) {
Element element = article.select(DIV).first();
if (element.attr(style) != null) {
     url = element.attr(style);
  }
}

答案 1 :(得分:0)

使用 Jsoup ,您将无法选择style属性的特定“元素”。您必须阅读整个属性,然后自己解析内容:

Document doc = Jsoup.connect("your-url").get()
// select all "div" elements with a class name "main_news_lp_img3"
for (Element el : doc.select("div.main_news_lp_img3")) {
    // get the "style" attribute value
    String style = el.attr("style");
    // parse the url from the attribute
    String url = StringUtils.substringBetween(style, "background-image: url('", "')");
    // do something with url...
}

这里我使用来自 Apache commons-lang StringUtils.substringBetween,但您也可以使用正则表达式或实现自己的substringBetween方法。