jsoup - त्वरित गाइड

jsoup HTML आधारित सामग्री के साथ काम करने के लिए एक जावा आधारित पुस्तकालय है। यह DOM, CSS, और jquery जैसी विधियों का सबसे अच्छा उपयोग करके डेटा को निकालने और हेरफेर करने के लिए एक बहुत ही सुविधाजनक एपीआई प्रदान करता है। यह WHATWG HTML5 विनिर्देश को कार्यान्वित करता है, और HTML को उसी डोम के रूप में प्रस्तुत करता है जैसा कि आधुनिक ब्राउज़र करते हैं।

jsoup libary WHATWG HTML5 विनिर्देश को लागू करता है, और आधुनिक ब्राउज़रों के अनुसार एक HTML सामग्री को उसी DOM पर वितरित करता है।

jsonp पुस्तकालय निम्नलिखित कार्यशीलता प्रदान करता है।

  • Multiple Read Support - यह URL, फ़ाइल, या स्ट्रिंग का उपयोग करके HTML को पढ़ता और पार्स करता है।

  • CSS Selectors - यह डोम ट्रैवर्सल या सीएसएस सेलेक्टर्स का उपयोग करके डेटा ढूंढ और निकाल सकता है।

  • DOM Manipulation - यह HTML तत्वों, विशेषताओं और पाठ में हेरफेर कर सकता है।

  • Prevent XSS attacks - यह किसी भी सुरक्षित श्वेत सूची के खिलाफ उपयोगकर्ता द्वारा प्रस्तुत सामग्री को साफ कर सकता है, ताकि XSS हमलों को रोका जा सके।

  • Tidy - यह HTML को सुव्यवस्थित करता है।

  • Handles invalid data - jsoup अस्पष्ट टैग, अंतर्निहित टैग को संभाल सकता है और मज़बूती से दस्तावेज़ संरचना बना सकता है।

स्थानीय पर्यावरण सेटअप

JUnit जावा के लिए एक ढांचा है, इसलिए सबसे पहली आवश्यकता आपके मशीन में JDK को स्थापित करने की है।

व्यवस्था की आवश्यकता

JDK 1.5 या ऊपर।
याद कोई न्यूनतम आवश्यकता नहीं।
डिस्क में जगह कोई न्यूनतम आवश्यकता नहीं।
ऑपरेटिंग सिस्टम कोई न्यूनतम आवश्यकता नहीं।

चरण 1: अपनी मशीन में जावा इंस्टॉलेशन को सत्यापित करें

सबसे पहले, कंसोल खोलें और आप जिस ऑपरेटिंग सिस्टम पर काम कर रहे हैं, उसके आधार पर एक जावा कमांड निष्पादित करें।

ओएस टास्क आदेश
खिड़कियाँ ओपन कमांड कंसोल c: \> java -version
लिनक्स कमांड टर्मिनल खोलें $ जावा-विचलन
मैक टर्मिनल खोलें मशीन: <joseph $ java -version

आइए सभी ऑपरेटिंग सिस्टम के लिए आउटपुट को सत्यापित करें -

ओएस उत्पादन
खिड़कियाँ

जावा संस्करण "1.6.0_21"

जावा (TM) एसई रनटाइम एनवायरनमेंट (बिल्ड 1.6.0_21-b07)

जावा हॉटस्पॉट (टीएम) क्लाइंट वीएम (बिल्ड 17.0-b17, मिश्रित मोड, साझाकरण)

लिनक्स

जावा संस्करण "1.6.0_21"

जावा (TM) एसई रनटाइम एनवायरनमेंट (बिल्ड 1.6.0_21-b07)

जावा हॉटस्पॉट (टीएम) क्लाइंट वीएम (बिल्ड 17.0-b17, मिश्रित मोड, साझाकरण)

मैक

जावा संस्करण "1.6.0_21"

जावा (TM) एसई रनटाइम एनवायरनमेंट (बिल्ड 1.6.0_21-b07)

जावा हॉटस्पॉट (TM) 64-बिट सर्वर VM (बिल्ड 17.0-b17, मिश्रित मोड, साझाकरण)

यदि आपके पास अपने सिस्टम पर जावा इंस्टॉल नहीं है, तो निम्न लिंक से जावा सॉफ्टवेयर डेवलपमेंट किट (एसडीके) डाउनलोड करें https://www.oracle.com। हम इस ट्यूटोरियल के लिए जावा 1.6.0_21 को इंस्टॉल किए गए संस्करण के रूप में मान रहे हैं।

चरण 2: जावा पर्यावरण सेट करें

ठीक JAVA_HOMEवातावरण चर आधार निर्देशिका स्थान पर इंगित करने के लिए जहां जावा आपकी मशीन पर स्थापित है। उदाहरण के लिए।

ओएस उत्पादन
खिड़कियाँ पर्यावरण चर JAVA_HOME को C: \ Program Files \ Java \ jdk1.6.0_21 पर सेट करें
लिनक्स निर्यात JAVA_HOME = / usr / स्थानीय / जावा-वर्तमान
मैक निर्यात JAVA_HOME = / लाइब्रेरी / जावा / होम

सिस्टम पथ में जावा कंपाइलर स्थान को जोड़ें।

ओएस उत्पादन
खिड़कियाँ तार लगाओ C:\Program Files\Java\jdk1.6.0_21\bin सिस्टम चर के अंत में, Path
लिनक्स निर्यात पथ = $PATH:$JAVA_HOME / bin /
मैक आवश्यक नहीं

कमांड का उपयोग करके जावा इंस्टॉलेशन को सत्यापित करें java -version जैसा कि ऊपर बताया गया है।

चरण 3: jsoup संग्रह डाउनलोड करें

मावेन रिपोजिटरी से jsoup जार फ़ाइल का नवीनतम संस्करण डाउनलोड करें । इस ट्यूटोरियल को लिखने के समय, हमने jsoup-1.8.3.jar डाउनलोड किया है और इसे C: \> jsoup फ़ोल्डर में कॉपी किया है।

ओएस संग्रह का नाम
खिड़कियाँ jsoup-1.8.3.jar
लिनक्स jsoup-1.8.3.jar
मैक jsoup-1.8.3.jar

चरण 4: सेट करें jsoup पर्यावरण

ठीक JSOUP_HOMEआधार चर स्थान पर इंगित करने के लिए वातावरण चर जहाँ jsoup जार आपकी मशीन पर संग्रहीत है। मान लेते हैं कि हमने jsoup-1.8.3.jar को JSOUP फ़ोल्डर में संग्रहीत कर लिया है।

अनु क्रमांक ओएस और विवरण
1

Windows

पर्यावरण चर JSOUP_HOME को C: \ JSOUP पर सेट करें

2

Linux

निर्यात JSOUP_HOME = / usr / स्थानीय / JSOUP

3

Mac

निर्यात JSOUP_HOME = / लाइब्रेरी / JSOUP

चरण 5: CLASSPATH चर सेट करें

ठीक CLASSPATH पर्यावरण चर JSOUP जार स्थान को इंगित करने के लिए।

अनु क्रमांक ओएस और विवरण
1

Windows

वातावरण चर कक्षा को% CLASSPATH% पर सेट करें;% JSOUP_HOME% \ jsoup-1.8.3.jar ;;

2

Linux

निर्यात CLASSPATH = $CLASSPATH:$JSOUP_HOME / jsoup-1.8.3.jar :.

3

Mac

निर्यात CLASSPATH = $CLASSPATH:$JSOUP_HOME / jsoup-1.8.3.jar :.

उदाहरण के बाद एक डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने का प्रदर्शन करेंगे।

वाक्य - विन्यास

Document document = Jsoup.parse(html);

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

विवरण

पार्स (स्ट्रिंग HTML) विधि एक नए दस्तावेज़ में इनपुट HTML को पार्स करती है। यह डॉक्यूमेंट ऑब्जेक्ट html डोम का पता लगाने और उसका विवरण प्राप्त करने के लिए इस्तेमाल किया जा सकता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body><p>Sample Content</p></body></html>";
      Document document = Jsoup.parse(html);
      System.out.println(document.title());
      Elements paragraphs = document.getElementsByTag("p");
      for (Element paragraph : paragraphs) {
            System.out.println(paragraph.text());
      }
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Sample Title
Sample Content

उदाहरण के बाद HTML बॉडी के रूप में एक एलिमेंट ऑब्जेक्ट में स्ट्रिंग HTML को पार्स करके दिखाएगा।

वाक्य - विन्यास

Document document = Jsoup.parseBodyFragment(html);
Element body = document.body();

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML टुकड़ा स्ट्रिंग।

  • body - दस्तावेज़ के शरीर तत्व के तत्व बच्चों का प्रतिनिधित्व करता है और document.getElementsByTag ("शरीर") के बराबर है।

विवरण

ParseBodyFragment (String html) विधि एक नए दस्तावेज़ में इनपुट HTML को पार्स करती है। इस डॉक्यूमेंट ऑब्जेक्ट का उपयोग html बॉडी फ्रैगमेंट का पता लगाने और उसका विवरण प्राप्त करने के लिए किया जा सकता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<div><p>Sample Content</p>";
      Document document = Jsoup.parseBodyFragment(html);
      Element body = document.body();
      Elements paragraphs = body.getElementsByTag("p");
      for (Element paragraph : paragraphs) {
         System.out.println(paragraph.text());
      }
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Sample Content

उदाहरण के बाद एक यूआरएल का उपयोग करके वेब से HTML प्राप्त करना और फिर उसका डेटा ढूंढना होगा।

वाक्य - विन्यास

String url = "http://www.google.com";
Document document = Jsoup.connect(url).get();

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - यूआरएल को जोड़ने और HTML स्ट्रिंग प्राप्त करने के लिए मुख्य वर्ग।

  • url - लोड करने के लिए html पेज का url।

विवरण

कनेक्ट (url) विधि url का कनेक्शन बनाती है और प्राप्त () विधि अनुरोधित URL का html लौटाती है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JsoupTester {
   public static void main(String[] args) throws IOException {
   
      String url = "http://www.google.com";
      Document document = Jsoup.connect(url).get();
      System.out.println(document.title());
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Google

निम्न उदाहरण एक फ़ाइल का उपयोग करके डिस्क से एक HTML प्राप्त करना दिखाएगा और फिर उसका डेटा ढूंढेगा।

वाक्य - विन्यास

String url = "http://www.google.com";
Document document = Jsoup.connect(url).get();

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - यूआरएल को जोड़ने और HTML स्ट्रिंग प्राप्त करने के लिए मुख्य वर्ग।

  • url - लोड करने के लिए html पेज का url।

विवरण

कनेक्ट (url) विधि url का कनेक्शन बनाती है और प्राप्त () विधि अनुरोधित URL का html लौटाती है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JsoupTester {
   public static void main(String[] args) throws IOException, URISyntaxException {
      
      URL path = ClassLoader.getSystemResource("test.htm");
      File input = new File(path.toURI());
      Document document = Jsoup.parse(input, "UTF-8");
      System.out.println(document.title());
   }
}

test.htm

C: \ jsoup फ़ोल्डर में निम्न test.htm फ़ाइल बनाएँ।

<html>
   <head>
      <title>Sample Title</title>
   </head>
   <body>
      <p>Sample Content</p>
   </body>
</html>

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Sample Title

उदाहरण के बाद एक डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने के बाद डोम की तरह तरीकों का उपयोग किया जाएगा।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element sampleDiv = document.getElementById("sampleDiv");
Elements links = sampleDiv.getElementsByTag("a");

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • sampleDiv - तत्व ऑब्जेक्ट आईडी "नमूनाडिव" द्वारा पहचाने गए HTML नोड तत्व का प्रतिनिधित्व करता है।

  • links - तत्व ऑब्जेक्ट टैग "" ए "द्वारा पहचाने गए कई नोड तत्वों का प्रतिनिधित्व करता है।

विवरण

पार्स (स्ट्रिंग HTML) विधि एक नए दस्तावेज़ में इनपुट HTML को पार्स करती है। यह डॉक्यूमेंट ऑब्जेक्ट html डोम का पता लगाने और उसका विवरण प्राप्त करने के लिए इस्तेमाल किया जा सकता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a></div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);
      System.out.println(document.title());
      Elements paragraphs = document.getElementsByTag("p");
      for (Element paragraph : paragraphs) {
         System.out.println(paragraph.text());
      }

      Element sampleDiv = document.getElementById("sampleDiv");
      System.out.println("Data: " + sampleDiv.text());
      Elements links = sampleDiv.getElementsByTag("a");

      for (Element link : links) {
         System.out.println("Href: " + link.attr("href"));
         System.out.println("Text: " + link.text());
      }
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Sample Title
Sample Content
Data: Google
Href: www.google.com
Text: Google

उदाहरण के बाद एक डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने के बाद चयनकर्ता विधियों का उपयोग प्रदर्शित करेगा। jsoup CSS चयनकर्ताओं के समान चयनकर्ताओं का समर्थन करता है।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element sampleDiv = document.getElementById("sampleDiv");
Elements links = sampleDiv.getElementsByTag("a");

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • sampleDiv - तत्व ऑब्जेक्ट आईडी "नमूनाडिव" द्वारा पहचाने गए HTML नोड तत्व का प्रतिनिधित्व करता है।

  • links - तत्व ऑब्जेक्ट टैग "" ए "द्वारा पहचाने गए कई नोड तत्वों का प्रतिनिधित्व करता है।

विवरण

डॉक्युमेंट.सेलेक्ट (एक्सप्रेशन) विधि किसी HTML डोम एलिमेंट को चुनने के लिए दिए गए CSS चयनकर्ता एक्सप्रेशन को पार्स करता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         + "<div id='imageDiv' class='header'><img name='google' src='google.png' />"
         + "<img name='yahoo' src='yahoo.jpg' />"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Elements links = document.select("a[href]");

      for (Element link : links) {
         System.out.println("Href: " + link.attr("href"));
         System.out.println("Text: " + link.text());
      }

      // img with src ending .png
      Elements pngs = document.select("img[src$=.png]");

      for (Element png : pngs) {
         System.out.println("Name: " + png.attr("name"));
      }

      // div with class=header
      Element headerDiv = document.select("div.header").first();
      System.out.println("Id: " + headerDiv.id());
   
      // direct a after h3
      Elements sampleLinks = document.select("h3 > a"); 

      for (Element link : sampleLinks) {
         System.out.println("Text: " + link.text());
      }
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Href: www.google.com
Text: Google
Name: google
Id: imageDiv
Text: Sample

उदाहरण के बाद एक डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने के बाद डोम तत्व की विशेषता प्राप्त करने के लिए विधि का उपयोग प्रदर्शित करेगा।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element link = document.select("a").first();
System.out.println("Href: " + link.attr("href"));

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • link - तत्व वस्तु एंकर टैग का प्रतिनिधित्व करने वाले HTML नोड तत्व का प्रतिनिधित्व करती है।

  • link.attr() - attr (विशेषता) विधि तत्व विशेषता को पीछे हटा देती है।

विवरण

तत्व वस्तु एक डोम एलिमेंट का प्रतिनिधित्व करती है और एक डोम तत्व की विशेषता प्राप्त करने के लिए विभिन्न विधि प्रदान करती है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Element link = document.select("a").first();         

      System.out.println("Href: " + link.attr("href"));
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Href: www.google.com

उदाहरण के बाद एक डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने के बाद टेक्स्ट प्राप्त करने के तरीकों का उपयोग प्रदर्शित करेगा।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element link = document.select("a").first();     
System.out.println("Text: " + link.text());

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • link - तत्व वस्तु एंकर टैग का प्रतिनिधित्व करने वाले HTML नोड तत्व का प्रतिनिधित्व करती है।

  • link.text() - पाठ () विधि तत्व पाठ से पीछे हट जाती है।

विवरण

तत्व वस्तु एक डोम एलिमेंट का प्रतिनिधित्व करती है और एक डोम तत्व के टेक्स्ट को प्राप्त करने के लिए विभिन्न विधि प्रदान करती है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Element link = document.select("a").first();         

      System.out.println("Text: " + link.text());
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Text: Google

उदाहरण के बाद एक डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने के बाद इनर html और आउटर HTML प्राप्त करने के लिए विधियों का उपयोग प्रदर्शित करेगा।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element link = document.select("a").first();         

System.out.println("Outer HTML: " + link.outerHtml());
System.out.println("Inner HTML: " + link.html());

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • link - तत्व वस्तु एंकर टैग का प्रतिनिधित्व करने वाले HTML नोड तत्व का प्रतिनिधित्व करती है।

  • link.outerHtml() - बाहरीएचटीएमएल () विधि तत्व को पूर्ण html से हटाती है।

  • link.html() - html () विधि तत्व को html के भीतर ले जाती है।

विवरण

एलिमेंट ऑब्जेक्ट एक डोम एलिमेंट का प्रतिनिधित्व करता है और एक डोम एलिमेंट का html पाने के लिए विभिन्न विधि प्रदान करता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //a with href
      Element link = document.select("a").first();         

      System.out.println("Outer HTML: " + link.outerHtml());
      System.out.println("Inner HTML: " + link.html());
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Outer HTML: <a href="www.google.com">Google</a>
Inner HTML: Google

उदाहरण के बाद तरीके दिखाए जाएंगे जो HTML पेज में मौजूद रिश्तेदार और साथ ही निरपेक्ष यूआरएल प्रदान कर सकते हैं।

वाक्य - विन्यास

String url = "http://www.tutorialspoint.com/";
Document document = Jsoup.connect(url).get();
Element link = document.select("a").first();         

System.out.println("Relative Link: " + link.attr("href"));
System.out.println("Absolute Link: " + link.attr("abs:href"));
System.out.println("Absolute Link: " + link.absUrl("href"));

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - मुख्य वर्ग एक यूआरएल से कनेक्ट करने और HTML सामग्री प्राप्त करने के लिए।

  • link - तत्व वस्तु एंकर टैग का प्रतिनिधित्व करने वाले HTML नोड तत्व का प्रतिनिधित्व करती है।

  • link.attr("href")- लंगर टैग में मौजूद href का मान प्रदान करता है। यह सापेक्ष या निरपेक्ष हो सकता है।

  • link.attr("abs:href") - दस्तावेज़ के आधार URI के खिलाफ हल करने के बाद पूर्ण url प्रदान करता है।

  • link.absUrl("href") - दस्तावेज़ के आधार URI के खिलाफ हल करने के बाद पूर्ण url प्रदान करता है।

विवरण

एलिमेंट ऑब्जेक्ट एक डोम एलिमेंट का प्रतिनिधित्व करता है और HTML पेज में मौजूद रिश्तेदार के साथ-साथ निरपेक्ष यूआरएल प्राप्त करने के तरीके प्रदान करता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) throws IOException {
   
      String url = "http://www.tutorialspoint.com/";
      Document document = Jsoup.connect(url).get();

      Element link = document.select("a").first();
      System.out.println("Relative Link: " + link.attr("href"));
      System.out.println("Absolute Link: " + link.attr("abs:href"));
      System.out.println("Absolute Link: " + link.absUrl("href"));
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Relative Link: index.htm
Absolute Link: https://www.tutorialspoint.com/index.htm
Absolute Link: https://www.tutorialspoint.com/index.htm

उदाहरण के बाद एक डॉम तत्व के गुणों को सेट करने के लिए विधि का उपयोग, बल्क अपडेट और एक क्लास ऑब्जेक्ट को डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने के बाद क्लास मेथड को जोड़ना / हटाना होगा।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element link = document.select("a").first();         
link.attr("href","www.yahoo.com");     
link.addClass("header"); 
link.removeClass("header");

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • link - तत्व वस्तु एंकर टैग का प्रतिनिधित्व करने वाले HTML नोड तत्व का प्रतिनिधित्व करती है।

  • link.attr() - attr (विशेषता, मूल्य) विधि तत्व के अनुरूप मूल्य निर्धारित करता है।

  • link.addClass() - addClass (वर्ग) विधि वर्ग को वर्ग विशेषता के तहत जोड़ती है।

  • link.removeClass() - removeClass (वर्ग) विधि वर्ग को वर्ग विशेषता के अंतर्गत हटा देती है।

विवरण

तत्व वस्तु एक डोम एलिमेंट का प्रतिनिधित्व करती है और एक डोम तत्व की विशेषता प्राप्त करने के लिए विभिन्न विधि प्रदान करती है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a id='googleA' href='www.google.com'>Google</a></div>"
         + "<div class='comments'><a href='www.sample1.com'>Sample1</a>"
         + "<a href='www.sample2.com'>Sample2</a>"
         + "<a href='www.sample3.com'>Sample3</a><div>"
         +"</div>"
         + "<div id='imageDiv' class='header'><img name='google' src='google.png' />"
         + "<img name='yahoo' src='yahoo.jpg' />"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //Example: set attribute
      Element link = document.getElementById("googleA");
      System.out.println("Outer HTML Before Modification :"  + link.outerHtml());
      link.attr("href","www.yahoo.com");      
      System.out.println("Outer HTML After Modification :"  + link.outerHtml());
      System.out.println("---");
      
      //Example: add class
      Element div = document.getElementById("sampleDiv");
      System.out.println("Outer HTML Before Modification :"  + div.outerHtml());
      link.addClass("header");      
      System.out.println("Outer HTML After Modification :"  + div.outerHtml());
      System.out.println("---");
      
      //Example: remove class
      Element div1 = document.getElementById("imageDiv");
      System.out.println("Outer HTML Before Modification :"  + div1.outerHtml());
      div1.removeClass("header");      
      System.out.println("Outer HTML After Modification :"  + div1.outerHtml());
      System.out.println("---");
      
      //Example: bulk update
      Elements links = document.select("div.comments a");
      System.out.println("Outer HTML Before Modification :"  + links.outerHtml());
      links.attr("rel", "nofollow");
      System.out.println("Outer HTML Before Modification :"  + links.outerHtml());
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Outer HTML Before Modification :<a id="googleA" href="www.google.com">Google</a>
Outer HTML After Modification :<a id="googleA" href="www.yahoo.com">Google</a>
---
Outer HTML Before Modification :<div id="sampleDiv">
 <a id="googleA" href="www.yahoo.com">Google</a>
</div>
Outer HTML After Modification :<div id="sampleDiv">
 <a id="googleA" href="www.yahoo.com" class="header">Google</a>
</div>
---
Outer HTML Before Modification :<div id="imageDiv" class="header">
 <img name="google" src="google.png">
 <img name="yahoo" src="yahoo.jpg">
</div>
Outer HTML After Modification :<div id="imageDiv" class="">
 <img name="google" src="google.png">
 <img name="yahoo" src="yahoo.jpg">
</div>
---
Outer HTML Before Modification :<a href="www.sample1.com">Sample1</a>
<a href="www.sample2.com">Sample2</a>
<a href="www.sample3.com">Sample3</a>
Outer HTML Before Modification :<a href="www.sample1.com" rel="nofollow">Sample1</a>
<a href="www.sample2.com" rel="nofollow">Sample2</a>
<a href="www.sample3.com" rel="nofollow">Sample3</a>

उदाहरण के बाद, HTML स्ट्रिंग को एक डॉक्यूमेंट ऑब्जेक्ट में पार्स करने के बाद HTML को एक डोम एलिमेंट पर सेट करने, प्रीपेन्ड या अपेंड करने के लिए मेथड का उपयोग प्रदर्शित करेगा।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element div = document.getElementById("sampleDiv");     
div.html("<p>This is a sample content.</p>");   
div.prepend("<p>Initial Text</p>");
div.append("<p>End Text</p>");

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • div - तत्व वस्तु एंकर टैग का प्रतिनिधित्व करने वाले HTML नोड तत्व का प्रतिनिधित्व करती है।

  • div.html() - html (सामग्री) विधि तत्व के बाहरी HTML को संबंधित मूल्य के साथ बदल देती है।

  • div.prepend() - Prepend (सामग्री) विधि बाहरी HTML से पहले सामग्री जोड़ता है।

  • div.append() - परिशिष्ट (सामग्री) विधि बाहरी HTML के बाद सामग्री को जोड़ता है।

विवरण

एलिमेंट ऑब्जेक्ट एक डोम एलिमेंट का प्रतिनिधित्व करता है और HTML को एक डोम एलिमेंट पर सेट, प्रीपेंड या एपेंड करने के लिए विभिन्न विधि प्रदान करता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<div id='sampleDiv'><a id='googleA' href='www.google.com'>Google</a></div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      Element div = document.getElementById("sampleDiv");
      System.out.println("Outer HTML Before Modification :\n"  + div.outerHtml());
      div.html("<p>This is a sample content.</p>");
      System.out.println("Outer HTML After Modification :\n"  + div.outerHtml());
      div.prepend("<p>Initial Text</p>");
      System.out.println("After Prepend :\n"  + div.outerHtml());
      div.append("<p>End Text</p>");
      System.out.println("After Append :\n"  + div.outerHtml());          
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Outer HTML Before Modification :
<div id="sampleDiv">
 <a id="googleA" href="www.google.com">Google</a>
</div>
Outer HTML After Modification :
<div id="sampleDiv">
 <p>This is a sample content.</p>
</div>
After Prepend :
<div id="sampleDiv">
 <p>Initial Text</p>
 <p>This is a sample content.</p>
</div>
After Append :
<div id="sampleDiv">
 <p>Initial Text</p>
 <p>This is a sample content.</p>
 <p>End Text</p>
</div>
Outer HTML Before Modification :
<span>Sample Content</span>
Outer HTML After Modification :
<span>Sample Content</span>

उदाहरण के बाद, एक डॉक्यूमेंट ऑब्जेक्ट में HTML स्ट्रिंग पार्स करने के बाद किसी डोम एलिमेंट पर टेक्स्ट को सेट, प्रीपेंड या अपेंड करने के लिए मेथड का उपयोग प्रदर्शित करेगा।

वाक्य - विन्यास

Document document = Jsoup.parse(html);
Element div = document.getElementById("sampleDiv");     
div.text("This is a sample content.");   
div.prepend("Initial Text.");
div.append("End Text.");

कहाँ पे

  • document - डॉक्यूमेंट ऑब्जेक्ट HTML DOM को दर्शाता है।

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - HTML स्ट्रिंग।

  • div - तत्व वस्तु एंकर टैग का प्रतिनिधित्व करने वाले HTML नोड तत्व का प्रतिनिधित्व करती है।

  • div.text() - पाठ (सामग्री) विधि तत्व की सामग्री को संबंधित मूल्य के साथ बदल देती है।

  • div.prepend() - Prepend (सामग्री) विधि बाहरी HTML से पहले सामग्री जोड़ता है।

  • div.append() - परिशिष्ट (सामग्री) विधि बाहरी HTML के बाद सामग्री को जोड़ता है।

विवरण

एलिमेंट ऑब्जेक्ट एक डोम एलिमेंट का प्रतिनिधित्व करता है और HTML को एक डोम एलिमेंट पर सेट, प्रीपेंड या एपेंड करने के लिए विभिन्न विधि प्रदान करता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTester {
   public static void main(String[] args) {

      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<div id='sampleDiv'><a id='googleA' href='www.google.com'>Google</a></div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      Element div = document.getElementById("sampleDiv");
      System.out.println("Outer HTML Before Modification :\n"  + div.outerHtml());
      div.text(This is a sample content.");
      System.out.println("Outer HTML After Modification :\n"  + div.outerHtml());
      div.prepend("Initial Text.");
      System.out.println("After Prepend :\n"  + div.outerHtml());
      div.append("End Text.");
      System.out.println("After Append :\n"  + div.outerHtml());
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Outer HTML Before Modification :
<div id="sampleDiv">
 <a id="googleA" href="www.google.com">Google</a>
</div>
Outer HTML After Modification :
<div id="sampleDiv">
 This is a sample content.
</div>
After Prepend :
<div id="sampleDiv">
 Initial Text.This is a sample content.
</div>
After Append :
<div id="sampleDiv">
 Initial Text.This is a sample content.End Text.
</div>

निम्नलिखित उदाहरण XSS हमलों या क्रॉस-साइट स्क्रिप्टिंग हमले की रोकथाम का प्रदर्शन करेंगे।

वाक्य - विन्यास

String safeHtml =  Jsoup.clean(html, Whitelist.basic());

कहाँ पे

  • Jsoup - दिए गए HTML स्ट्रिंग को पार्स करने के लिए मुख्य वर्ग।

  • html - प्रारंभिक HTML स्ट्रिंग।

  • safeHtml - HTML को क्लीन किया।

  • Whitelist HTML को सुरक्षित करने के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन प्रदान करने के लिए ऑब्जेक्ट।

  • clean() - श्वेतसूची का उपयोग करके html को साफ करता है।

विवरण

Jsoup ऑब्जेक्ट Whitelist कॉन्फ़िगरेशन का उपयोग करके एक html को सैनिटाइज़ करता है।

उदाहरण

C: /> jsoup में अपनी पसंद के किसी भी संपादक का उपयोग करके निम्नलिखित जावा प्रोग्राम बनाएं।

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist;

public class JsoupTester {
   public static void main(String[] args) {

      String html = "<p><a href='http://example.com/'"
         +" onclick='checkData()'>Link</a></p>";

      System.out.println("Initial HTML: " + html);
      String safeHtml =  Jsoup.clean(html, Whitelist.basic());

      System.out.println("Cleaned HTML: " +safeHtml);
   }
}

परिणाम सत्यापित करें

का उपयोग कर वर्ग संकलित करें javac संकलक निम्नानुसार है:

C:\jsoup>javac JsoupTester.java

अब परिणाम देखने के लिए JsoupTester चलाएं।

C:\jsoup>java JsoupTester

परिणाम देखें।

Initial HTML: <p><a href='http://example.com/' onclick='checkData()'>Link</a></p>
Cleaned HTML: <p><a href="http://example.com/" rel="nofollow">Link</a></p>