जावा का उपयोग करके आप वेब पेज की सामग्री को कई तरह से पढ़ सकते हैं। यहां, हम उनमें से तीन पर चर्चा करने जा रहे हैं।
ओपनस्ट्रीम () पद्धति का उपयोग करना
यूआरएल java.net पैकेज का वर्ग एक यूनिफ़ॉर्म रिसोर्स लोकेटर का प्रतिनिधित्व करता है जिसका उपयोग वर्ल्ड वाइड वेब में संसाधन (फ़ाइल या निर्देशिका या संदर्भ) को इंगित करने के लिए किया जाता है।
ओपनस्ट्रीम () इस वर्ग की विधि वर्तमान ऑब्जेक्ट द्वारा दर्शाए गए URL से एक कनेक्शन खोलती है और एक इनपुटस्ट्रीम ऑब्जेक्ट लौटाती है जिसके उपयोग से आप URL से डेटा पढ़ सकते हैं।
इसलिए, वेब पेज से डेटा पढ़ने के लिए (यूआरएल वर्ग का उपयोग करके) -
-
वांछित वेब पेज के URL को उसके कंस्ट्रक्टर के पैरामीटर के रूप में पास करके java.net.URL क्लास को इंस्टेंट करें।
-
ओपनस्ट्रीम () विधि को लागू करें और इनपुटस्ट्रीम ऑब्जेक्ट को पुनः प्राप्त करें।
-
उपरोक्त पुनर्प्राप्त इनपुटस्ट्रीम ऑब्जेक्ट को पैरामीटर के रूप में पास करके स्कैनर वर्ग को तुरंत चालू करें।
उदाहरण
आयात करें नया यूआरएल ("https://www.something.com/"); // निर्दिष्ट पृष्ठ की सामग्री को पुनः प्राप्त करना स्कैनर एससी =नया स्कैनर (url.openStream ()); // StringBuffer वर्ग को तुरंत परिणाम देने के लिए StringBuffer sb =new StringBuffer (); जबकि (sc.hasNext ()) {sb.append (sc.next ()); //System.out.println(sc.next ()); } // स्ट्रिंग बफ़र ऑब्जेक्ट से स्ट्रिंग पुनर्प्राप्त करना स्ट्रिंग परिणाम =sb.toString (); System.out.println (परिणाम); // HTML टैग्स को हटाना परिणाम =result.replaceAll ("<[^>]*>", ""); System.out.println ("वेब पेज की सामग्री:" + परिणाम); }}आउटपुट
Itworks!
वेब पृष्ठ की सामग्री:Itworks!
एचटीपी क्लाइंट का उपयोग करना
एचटीपी क्लाइंट एक ट्रांसफर लाइब्रेरी है, यह क्लाइंट साइड पर रहता है, HTTP संदेश भेजता और प्राप्त करता है। यह अद्यतित, सुविधा संपन्न और कुशल कार्यान्वयन प्रदान करता है जो हाल के HTTP मानकों को पूरा करता है।
जीईटी अनुरोध (एचटीपी प्रोटोकॉल का) किसी दिए गए यूआरआई का उपयोग करके दिए गए सर्वर से जानकारी पुनर्प्राप्त करने के लिए उपयोग किया जाता है। GET का उपयोग करने वाले अनुरोधों को केवल डेटा पुनर्प्राप्त करना चाहिए और डेटा पर इसका कोई अन्य प्रभाव नहीं होना चाहिए।
HttpClient API HttpGet नामक एक वर्ग प्रदान करता है जो अनुरोध प्राप्त करने की विधि का प्रतिनिधित्व करता है। GET अनुरोध को निष्पादित करने और वेब पेज की सामग्री को पुनः प्राप्त करने के लिए -
-
createDefault() HttpClients वर्ग की विधि एक CloseableHttpClient ऑब्जेक्ट लौटाती है, जो HttpClient इंटरफ़ेस का मूल कार्यान्वयन है। इस विधि का उपयोग करके, एक HttpClient ऑब्जेक्ट बनाएं।
-
HttpGet क्लास को इंस्टेंट करके एक HTTP GET रिक्वेस्ट बनाएं। इस वर्ग का निर्माता उस वेब पेज के यूआरआई का प्रतिनिधित्व करने वाले स्ट्रिंग मान को स्वीकार करता है जिस पर आपको अनुरोध भेजने की आवश्यकता होती है।
-
निष्पादित करें() . का आह्वान करके HttpGet अनुरोध निष्पादित करें विधि।
-
प्रतिक्रिया से वेब साइट की सामग्री का प्रतिनिधित्व करने वाली एक इनपुटस्ट्रीम वस्तु को पुनः प्राप्त करें -
httpresponse.getEntity().getContent()
उदाहरण
आयात करें। http.impl.client.HttpClients;सार्वजनिक वर्ग HttpClientExample {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) अपवाद फेंकता है {// एक HttpClient ऑब्जेक्ट बनाना CloseableHttpClient httpclient =HttpClients.createDefault (); // एक HttpGet ऑब्जेक्ट बनाना HttpGet httpget =new HttpGet ("https://www.something.com/"); // प्राप्त अनुरोध को निष्पादित करना HttpResponse httpresponse =httpclient.execute(httpget); स्कैनर एससी =नया स्कैनर (httpresponse.getEntity ()। getContent ()); // StringBuffer वर्ग को तुरंत परिणाम देने के लिए StringBuffer sb =new StringBuffer (); जबकि (sc.hasNext ()) {sb.append (sc.next ()); //System.out.println(sc.next ()); } // स्ट्रिंग बफ़र ऑब्जेक्ट से स्ट्रिंग पुनर्प्राप्त करना स्ट्रिंग परिणाम =sb.toString (); System.out.println (परिणाम); // HTML टैग्स को हटाना परिणाम =result.replaceAll ("<[^>]*>", ""); System.out.println ("वेब पेज की सामग्री:" + परिणाम); }}आउटपुट
Itworks!
वेब पृष्ठ की सामग्री:Itworks!
Jsoup लाइब्रेरी का उपयोग करना
Jsoup एक जावा आधारित पुस्तकालय है जो HTML आधारित सामग्री के साथ काम करता है। यह सर्वोत्तम DOM, CSS और jQuery जैसी विधियों का उपयोग करके डेटा निकालने और हेरफेर करने के लिए एक बहुत ही सुविधाजनक API प्रदान करता है। यह WHATWG HTML5 विनिर्देश को लागू करता है, और HTML को उसी DOM में पार्स करता है जैसे आधुनिक ब्राउज़र करते हैं।
Jsoup लाइब्रेरी का उपयोग करके वेब पेज की सामग्री को पुनः प्राप्त करने के लिए -
-
कनेक्ट () Jsoup वर्ग की विधि एक वेब पेज के URL को स्वीकार करती है और निर्दिष्ट वेब पेज से जुड़ती है और कनेक्शन ऑब्जेक्ट लौटाती है। कनेक्ट () . का उपयोग करके वांछित वेब पेज से कनेक्ट करें विधि।
-
कनेक्शन इंटरफ़ेस की प्राप्त () विधि GET अनुरोध भेजती है / निष्पादित करती है और HTML दस्तावेज़ को दस्तावेज़ वर्ग के ऑब्जेक्ट के रूप में लौटाती है। गेट () विधि को लागू करके पेज पर GET अनुरोध भेजें।
-
प्राप्त दस्तावेज़ की सामग्री को एक स्ट्रिंग के रूप में पुनः प्राप्त करें -
स्ट्रिंग परिणाम =doc.body().text();
उदाहरण
आयात करें स्ट्रिंग पेज ="https://www.something.com/"; // वेब पेज से कनेक्ट करना कनेक्शन कॉन =Jsoup.connect (पेज); // प्राप्त अनुरोध को निष्पादित करना दस्तावेज़ दस्तावेज़ =conn.get (); // वेब पेज की सामग्री (बॉडी) को पुनः प्राप्त करना स्ट्रिंग परिणाम =doc.body ()। टेक्स्ट (); System.out.println (परिणाम); }}आउटपुट
यह काम करता है!