JavaRush /Java Blog /Random-TK /Html-i jsoup kitaphanasy bilen derňemek
Сергей
Dereje
Москва

Html-i jsoup kitaphanasy bilen derňemek

Toparda çap edildi
Şonuň üçin sahypadan anyk maglumat almak isleýäris. Bu ädim ädimini nädip etmelidigine seredeliň. Html-i jsoup kitaphanasy bilen derňemek - 1Ilki bilen almaly Document. Bu, html sahypamyzyň beýany. Jsoup saýty a öwürmegiň birnäçe usuly bar Document. Serwere birikdiriň
Document document = Jsoup.connect("https://hh.ru/").get();
Jsoup-iň özi sahypa birigýär. Bu usul iň ýönekeý, ýöne diňe synag üçin amatly. Has amatly we çeýe http müşderileri bar. Şeýle hem ýadyňyzdan çykarmaň, haýsy http müşderisini ulansaňyzam, User-Agenthaýyşy ýaly bir sözbaşy goşuň Chrome/81.0.4044.138. Bu sözbaşy ulanyp, serwer haýsy enjama birikdirilendigiňizi kesgitleýär. Bu sözbaşy bolmasa, serwer sizi bot hasaplaýar we size gadagan edip biler. Faýldan ;
File file = new File("hh-test.html");
Document document = Jsoup.parse(file, "UTF-8", "hh.ru");
Bu obýekt almagyň esasy usulydyr Document. Iň soňky argument "hh.ru"esasy URI. Bu, saýtda bar bolan garyndaşlardan mutlak baglanyşyk döretmek üçin zerurdyr. Setirden
String html =
                "<html>                                                                       " +
                "    <head>                                                                   " +
                "        <title href=\"hh.ru/vacancy?home\">                                  " +
                "            Работа в Москве, поиск персонала и публикация вакансий - hh.ru   " +
                "        </title>                                                             " +
                "    </head>                                                                  " +
                "    <body>                                                                   " +
                "        <div class=\"header main\">                                          " +
                "            <h1>Работа найдется для каждого</h1>                             " +
                "            <div>Поиск вакансий</div>                                        " +
                "        </div>                                                               " +
                "        <div class=\"content\">                                              " +
                "            <div>Вакансии дня</div>                                          " +
                "            <div id=\"123\">Компании дня</div>                               " +
                "            <div>Работа из дома</div>                                        " +
                "        </div>                                                               " +
                "    </body>                                                                  " +
                "</html>                                                                      ";

        Document document = Jsoup.parse(html, "hh.ru");
Indiki, ýönekeýleşdirilen sahypany görkezýän bu html-de kitaphanany görkezerin. Bellik almak Derňewde esasy wezipe islenýän belligi almakdyr . Usuly ulanyp muny ederis select. Elmydama bellikleriň sanawyny gaýtaryp berýändigine üns beriň. Bellikler tapylmasa, sanaw boş bolar. Usul argumenti hökmünde bellikler gözlenýän CSS saýlaýjysyndan geçmeli. Saýlawçylaryň üstünde has jikme-jik durup geçerin, sebäbi ähli işler dogry saýlaýjyny ýazmak üçin gelýär. Adatça, ýekeje belligi yzyna gaýtarmak üçin ony düzmeli.
Elements h1 = document.select("h1");
System.out.println(h1);
Bellik belliklerini alyň h1 Çykyş:

<h1>Работа найдется для каждого</h1>
Elements titleElem = document.select("head > title");
Bellikleri alyň title. Bellik, belligiň içinde ýerleşdirilen >bellikleri saýlaýartitlehead
Elements divs = document.select("body > div");
Bellikleri divýerleşdiriňbody
Elements firstDiv = document.select("body > div:nth-child(1)");
Ilkinji belligi divýerleşdiriň body. Belligi seriýa belgisi boýunça almak erbet ýol, sebäbi sahypadaky ýagdaýy üýtgäp biler. Belligi mutlak parametrleri ulanyp kesgitlemek has gowudyr. Bu parametrler atributlar classweid
Elements contentElem = document.select("body > div.content");
divIçinde ýerleşdirilen "mazmun" synpy bilen bellik alyňbody
Elements idElem = document.select("#123");
"123" id bilen bellik alyň
Elements divHeader = document.select("body > div.header.main :not(h1)");
Içinde ýerleşdirilen , ýöne belliksiz div"sözbaşy" we "esasy" synplary bilen bellik alyň . Çykyş: bodyh1

<div>
 Поиск вакансий
</div>
Elementleriň usullary Sanaw alanymyzdan soň, Elementsondan maglumat alyp bileris. Adatça, saýlaýjynyň bir belligi gözleýändigini ýatladýaryn. Elements1 ululykda bolmaly .
elements.size();
tapylan bellikleriň sany
elements.get(0);
tapylanlaryň sanawyndan ilkinji belligi alyň
elements.text();
bellikde ýerleşdirilen tekst
elements.attr("href");
"href" atribut bahasy
elements.outerHtml();
belligiň setir şekillendirilmegi Eger element saýlaýjysyny çalt almaly bolsaňyz, brauzerde dörediji paneli (f12) açyň, elemente sag basyň, "kody görüň", bellige sag basyň, soňra "Göçüriň" " Saýlaýjyny göçüriň ”. Şeýle saýlaýjy optimal bolmaz, ýöne çalt netijeler üçin gaty amatly. Netije Bu Jsoup kitaphanasy bilen işlemegiň esaslary. Emma bu sahypalary derňemek üçin ýeterlikdir. Ynamly işlemek üçin size hakyky saýtlarda saýlaýjylary ýazmak gerek. Ps Bu kitaphana 38-nji derejedäki uly meseläni çözmek üçin ulanylýar Html-i jsoup kitaphanasy bilen derňemek - 1Html-i jsoup kitaphanasy bilen derňemek - 3
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION