by JSOUP, get all parents a headline.



  • I have a hard copy.

    <HTML xmlns:OG="http://opengraphprotocol.org/schema/" xmlns:FB="http://www.facebook.com/2008/fbml">
        <style type="text/css"></style>
        <BODY>
            <DIV class="block0">
                <DIV class="pad0">
                    <DIV class="fblock">
                        <DIV class="block61">
                            <DIV class="rpad">
                                <H1 class="title">Во Франции по подозрению в планировании теракта задержали двух девушек</H1>
                                <SPAN class="dt2">Понедельник, 26 сентября 2016, 16:08</SPAN>
                                <DIV class="text">
                                    <P>Во французском городе Ницца по подозрению в планировании теракта были задержаны двое девушек.</P>
                                    <P>Об этом сообщает <A href="https://www.afp.com">AFP</A>.</P>
                                    <P>Девушки в возрасте 17 и 18 лет подозреваются в планировании террористического нападения под руководством французского джихадиста Рашида Кассима.</P>
                                    <P>Подростки рассказали следователям, что они планировали нападение под влиянием Рашида Кассима, который сейчас находится в Сирии или Ираке, на территории, которая контролируется террористической организацией &quot;Исламское государство&quot;.</P>
                                    <P>Рашид Кассим, по мнению следователей, играет роль подстрекателя или спонсора, фактически призывая потенциальных террористов к совершению джихада во Франции.</P>
                                    <P>Стоит добавить, что во время обыска в помещениях, которые принадлежат задержанными, стражи порядка не нашли оружия.</P>
                                    <P>Издание отмечает, что девушки живут в том же районе, что и <A href="/rus/news/2016/07/15/7052184/">Мохамед Лахуайедж-Бухлель, убивший 86 человек</A> в Ницце 14 июля.</P>
                                    <P>Напомним, недавно французская <A href="/rus/news/2016/09/14/7054550/">полиция задержала подростка</A>, подозреваемого в подготовке теракта в Париже.</P>
                                </DIV>
                                <DIV class="btit4"><SPAN>ЧИТАЙ ТАКЖЕ</SPAN></DIV>
                            </DIV>
                        </DIV>
                    </DIV>
                </DIV>
            </DIV>
        </BODY>
    </HTML>
    

    With JSOUPa, I wanted to get all the "parents" headlines.

    Element element = Jsoup.parse(html).getElementsByClass("title").parents().last();
    System.out.println(element);
    

    I got the same HTML in the console. But I only need to get the "parents" headline without any other tags like this:

    <HTML xmlns:OG="http://opengraphprotocol.org/schema/" xmlns:FB="http://www.facebook.com/2008/fbml">
       <BODY>
          <DIV class="block0">
             <DIV class="pad0">
                <DIV class="fblock">
                   <DIV class="block61">
                      <DIV class="rpad">
                         <H1 class="title">ЗАГОЛОВОК СТАТЬИ</H1>
                      </DIV>
                   </DIV>
                </DIV>
             </DIV>
          </DIV>
       </BODY>
    </HTML>
    

    What can we do about it?

    And the question is, how to find the title of the headline is that it's not called "title" but that's what's different from "head_article" because I'm gonna be on different websites.



  • Based on this example, it's simple:

    • take the element in which the heading is
    • Replace its contents with the html headline with the text (first descendant of the block)
    String html = "<HTML xmlns:OG=\"http://opengraphprotocol.org/schema/\" xmlns:FB=\"http://www.facebook.com/2008/fbml\">\n" +
            "    <style type=\"text/css\"></style>\n" +
            "    <BODY>\n" +
            "        <DIV class=\"block0\">\n" +
            "            <DIV class=\"pad0\">\n" +
            "                <DIV class=\"fblock\">\n" +
            "                    <DIV class=\"block61\">\n" +
            "                        <DIV class=\"rpad\">\n" +
            "                            <H1 class=\"title\">Во Франции по подозрению в планировании теракта задержали двух девушек</H1>\n" +
            "                            <SPAN class=\"dt2\">Понедельник, 26 сентября 2016, 16:08</SPAN>\n" +
            "                            <DIV class=\"text\">\n" +
            "                                <P>Во французском городе Ницца по подозрению в планировании теракта были задержаны двое девушек.</P>\n" +
            "                                <P>Об этом сообщает <A href=\"https://www.afp.com\">AFP</A>.</P>\n" +
            "                                <P>Девушки в возрасте 17 и 18 лет подозреваются в планировании террористического нападения под руководством французского джихадиста Рашида Кассима.</P>\n" +
            "                                <P>Подростки рассказали следователям, что они планировали нападение под влиянием Рашида Кассима, который сейчас находится в Сирии или Ираке, на территории, которая контролируется террористической организацией &quot;Исламское государство&quot;.</P>\n" +
            "                                <P>Рашид Кассим, по мнению следователей, играет роль подстрекателя или спонсора, фактически призывая потенциальных террористов к совершению джихада во Франции.</P>\n" +
            "                                <P>Стоит добавить, что во время обыска в помещениях, которые принадлежат задержанными, стражи порядка не нашли оружия.</P>\n" +
            "                                <P>Издание отмечает, что девушки живут в том же районе, что и <A href=\"/rus/news/2016/07/15/7052184/\">Мохамед Лахуайедж-Бухлель, убивший 86 человек</A> в Ницце 14 июля.</P>\n" +
            "                                <P>Напомним, недавно французская <A href=\"/rus/news/2016/09/14/7054550/\">полиция задержала подростка</A>, подозреваемого в подготовке теракта в Париже.</P>\n" +
            "                            </DIV>\n" +
            "                            <DIV class=\"btit4\"><SPAN>ЧИТАЙ ТАКЖЕ</SPAN></DIV>\n" +
            "                        </DIV>\n" +
            "                    </DIV>\n" +
            "                </DIV>\n" +
            "            </DIV>\n" +
            "        </DIV>\n" +
            "       <DIV class=\"block0\">\n" +
            "          <DIV class=\"pad0\">\n" +
            "                <DIV class=\"fblock\">\n" +
            "                    <DIV class=\"block61\">\n" +
            "                        <DIV class=\"rpad\">\n" +
            "                            <H1 class=\"title\">Во Фsdfsdfsfх девушек</H1>\n" +
            "                            <SPAN class=\"dt2\">Понедельник, 26 сентября 2016, 16:08</SPAN>\n" +
            "                            <DIV class=\"btit4\"><SPAN>ЧИТАЙ ТАКЖЕ</SPAN></DIV>\n" +
            "                        </DIV>\n" +
            "                    </DIV>\n" +
            "                </DIV>\n" +
            "            </DIV>\n" +
            "        </DIV>\n" +
            "    </BODY>\n" +
            "</HTML>";
    

    // загрузка html
    Document document = Jsoup.parse(html);
    // берем все элементы в который входит title
    Elements els = document.select(".rpad");
    // пробегаясь по всем ним, меняем внутри html
    // child(0) - как раз html заголовка
    for (Element el : els) {
    el.html(el.child(0).toString());
    }

    System.out.println(document);

    This code will eventually lead.

    <html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml">
    <head>
    <style type="text/css"></style>
    </head>
    <body>
    <div class="block0">
    <div class="pad0">
    <div class="fblock">
    <div class="block61">
    <div class="rpad">
    <h1 class="title">Во Франции по подозрению в планировании теракта задержали двух девушек</h1>
    </div>
    </div>
    </div>
    </div>
    </div>
    <div class="block0">
    <div class="pad0">
    <div class="fblock">
    <div class="block61">
    <div class="rpad">
    <h1 class="title">Во Фsdfsdfsfх девушек</h1>
    </div>
    </div>
    </div>
    </div>
    </div>
    </body>
    </html>

    Without knowledge, the selection criterion with a constant variety of html, a constant different line for the heading, with a constant varying degree of fitness of the heading with a permanently different class (and the absence of a single) in the headline and in general any specific search criteria, can only be done by artificial intelligence




Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2