JavaRush /جاوا بلاگ /Random-SD /jsoup لائبريري سان html کي پارس ڪرڻ
Сергей
سطح
Москва

jsoup لائبريري سان html کي پارس ڪرڻ

گروپ ۾ شايع ٿيل
تنهنڪري اسان سائيٽ مان مخصوص معلومات حاصل ڪرڻ چاهيون ٿا. اچو ته ڏسو ته اهو قدم ڪيئن ڪجي. jsoup لائبريري سان html پارس ڪرڻ - 1پهرين اسان کي حاصل ڪرڻ جي ضرورت آهي Document. هي اسان جي html صفحي جي نمائندگي آهي. Jsoup ۾ سائيٽ کي تبديل ڪرڻ جا ڪيترائي طريقا آھن Document. سرور سان ڳنڍيو
Document document = Jsoup.connect("https://hh.ru/").get();
Jsoup پاڻ سائيٽ سان ڳنڍيندو آهي. اهو طريقو آسان آهي، پر اهو صرف جانچ لاء مناسب آهي. هتي وڌيڪ آسان ۽ لچڪدار http ڪلائنٽ آهن. اهو پڻ ذهن ۾ رکو، ڪابه پرواه ناهي ته توهان ڪهڙي http ڪلائنٽ استعمال ڪندا آهيو، درخواست ۾ هڪ هيڊر شامل ڪريو User-Agentقدر سان جيئن Chrome/81.0.4044.138. هن هيڊر کي استعمال ڪندي، سرور اهو طئي ڪري ٿو ته توهان ڪهڙي ڊوائيس مان ڳنڍيل آهيو. هن هيڊر جي بغير، سرور توهان کي هڪ بوٽ سمجهي ٿو ۽ توهان تي پابندي لڳائي سگھي ٿو. فائل مان ؛
File file = new File("hh-test.html");
Document document = Jsoup.parse(file, "UTF-8", "hh.ru");
هي هڪ اعتراض حاصل ڪرڻ جو بنيادي طريقو آهي Document. آخري دليل "hh.ru"بنيادي URI آهي. اهو ضروري آهي ته سائيٽ تي موجود رشتيدارن کان مڪمل لنڪ ٺاهڻ لاءِ. لڪير کان
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");
اڳيون، مان هن html ۾ لائبريري ڏيکاريندس، جيڪا هڪ سادي سائيٽ جي نمائندگي ڪري ٿي. هڪ ٽيگ حاصل ڪرڻ اهم ڪم جڏهن پارس ڪرڻ آهي گهربل ٽيگ حاصل ڪرڻ. اسان اهو طريقو استعمال ڪندي ڪنداسين select. نوٽ ڪريو ته اهو هميشه ٽيگ جي هڪ فهرست موٽائي ٿو. جيڪڏهن ڪي ٽيگ نه مليا ته لسٽ خالي ٿي ويندي. توهان کي هڪ CSS چونڊيندڙ پاس ڪرڻ جي ضرورت آهي جنهن ذريعي ٽيگ ڳوليا ويندا آهن طريقي جي دليل طور. مان چونڊيندڙن تي وڌيڪ تفصيل سان ڳالهائيندس، ڇاڪاڻ ته سڄو ڪم صحيح چونڊيندڙ کي لکڻ تي اچي ٿو. عام طور تي اسان کي ان کي ترتيب ڏيڻ جي ضرورت آهي ته جيئن اهو هڪ واحد ٽيگ واپس ڪري.
Elements h1 = document.select("h1");
System.out.println(h1);
حاصل ڪريو ٽيگ ٽيگ h1 آئوٽ:

<h1>Работа найдется для каждого</h1>
Elements titleElem = document.select("head > title");
ٽيگ حاصل ڪريو title. نشاني هڪ ٽيگ جي اندر اندر داخل ٿيل >ٽيگ کي چونڊيندو آهيtitlehead
Elements divs = document.select("body > div");
divداخل ٿيل ٽيگ حاصل ڪريوbody
Elements firstDiv = document.select("body > div:nth-child(1)");
حاصل ڪريو پهرين ٽيگ div۾ داخل ٿيل body. سيريل نمبر ذريعي ٽيگ حاصل ڪرڻ هڪ خراب طريقو آهي، ڇاڪاڻ ته سائيٽ تي ان جي پوزيشن تبديل ٿي سگهي ٿي. اهو بهتر آهي ته ٽيگ جي وضاحت ڪريو مطلق پيٽرولر استعمال ڪندي. اهي پيٽرول خاصيتون آهن class۽id
Elements contentElem = document.select("body > div.content");
div"مواد" طبقي سان ٽيگ حاصل ڪريو ، اندر اندرbody
Elements idElem = document.select("#123");
id سان ٽيگ حاصل ڪريو "123"
Elements divHeader = document.select("body > div.header.main :not(h1)");
divڪلاس "هيڊر" ۽ "مئن" سان ٽيگ حاصل ڪريو ، اندر داخل ٿيل body، پر بغير ٽيگ جي h1 . آئوٽ پٽ:

<div>
 Поиск вакансий
</div>
عناصر جا طريقا هڪ دفعو اسان کي هڪ فهرست ملي آهي، Elementsاسان ان مان ڊيٽا ڪڍي سگهون ٿا. مان توهان کي ياد ڏيان ٿو ته عام طور تي چونڊيندڙ هڪ ٽيگ جي ڳولا ڪندو آهي، يعني. Elementsسائيز 1 هجڻ گهرجي .
elements.size();
ٽيگ جو تعداد مليو
elements.get(0);
مليل فهرست مان پهريون ٽيگ حاصل ڪريو
elements.text();
ٽيگ ۾ شامل ٿيل متن
elements.attr("href");
"href" صفت قدر
elements.outerHtml();
هڪ ٽيگ جي string نمائندگي جيڪڏهن توهان کي جلدي هڪ عنصر چونڊيندڙ حاصل ڪرڻ جي ضرورت آهي، برائوزر ۾ ڊولپر پينل (f12) کوليو، عنصر تي صحيح ڪلڪ ڪريو، "ڪوڊ ڏسو"، ٽيگ تي صحيح ڪلڪ ڪريو، پوء "ڪاپي" " ڪاپي چونڊيندڙ“. اهڙي چونڊيندڙ بهتر نه هوندي، پر اهو جلدي نتيجن لاء ڪافي مناسب آهي. نتيجو اهو آهي Jsoup لائبريري سان ڪم ڪرڻ جا بنيادي طريقا. پر اهو ڪافي آهي سائيٽن کي پارس ڪرڻ لاءِ. اعتماد سان ڪم ڪرڻ لاءِ، توهان کي صرف ضرورت آهي حقيقي سائيٽن تي چونڊيل لکڻين جي مشق. Ps هي لائبريري سطح 38 تي وڏي مسئلي کي حل ڪرڻ لاءِ استعمال ٿيندي آهي jsoup لائبريري سان html پارس ڪرڻ - 1jsoup لائبريري سان html پارس ڪرڻ - 3
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION