jsoup как выбрать из атрибута div

Как выбрать url из этого кода

<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 ответа

  1. Это что-то вроде этого (псевдо) :

    Редактировать :

    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);
      }
    }
    
  2. С 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...
    }
    

    Здесь я использую StringUtils.substringBetweenот Apache commons-lang, но вы также можете использовать регулярное выражение или реализовать свой собственный substringBetweenметод.