java - जावा के साथ वेब स्क्रैपिंग




web-scraping frameworks (6)

मैं जावा आधारित एपीआई किसी भी अच्छे वेब स्क्रैपिंग को खोजने में सक्षम नहीं हूं। जिस साइट को मुझे स्क्रैप करने की आवश्यकता है वह किसी एपीआई को भी प्रदान नहीं करता है; मैं कुछ पेजआईड्स का उपयोग करके सभी वेब पेजों पर फिर से शुरू करना चाहता हूं और एचटीएमएल टाइटल / अन्य सामान अपने डीओएम पेड़ों में निकालना चाहता हूं।

क्या वेब स्क्रैपिंग के अलावा अन्य तरीके हैं?

धन्यवाद


jsoup

शीर्षक निकालना मुश्किल नहीं है, और आपके पास कई विकल्प हैं, " जावा HTML पार्सर्स " के लिए स्टैक ओवरफ़्लो पर यहां खोजें। उनमें से एक Jsoup

यदि आप पृष्ठ संरचना जानते हैं तो आप डोम का उपयोग करके पृष्ठ पर नेविगेट कर सकते हैं, http://jsoup.org/cookbook/extracting-data/dom-navigation देखें

यह एक अच्छी लाइब्रेरी है और मैंने इसे अपनी आखिरी परियोजनाओं में इस्तेमाल किया है।


आप वेब स्क्रैपिंग के लिए ui4j या cdp4j लाइब्रेरी का प्रयास कर सकते हैं। ui4j को जावा 8 की आवश्यकता है और जावाएफएक्स वेबकिट ब्राउज़र का उपयोग करता है और cdp4j को क्रोम की आवश्यकता होती है।


एक HTML पार्सर जैसे टैग्सपॉप, एचटीएमएल क्लेनर या नेको HTML देखें।


जांट जावा वेब स्क्रैपिंग और जेएसओएन क्वेरीिंग भी है - http://jaunt-api.com


यदि आप बड़ी मात्रा के पृष्ठों या डेटा के स्क्रैपिंग को स्वचालित करना चाहते हैं, तो आप गोट्ज़ ईटीएल को आजमा सकते हैं।

यह एक वास्तविक ईटीएल उपकरण की तरह पूरी तरह से मॉडल संचालित है। डेटा संरचना, कार्य वर्कफ़्लो और पृष्ठों को स्क्रैप करने के लिए XML परिभाषा फ़ाइलों के सेट के साथ परिभाषित किया गया है और कोई कोडिंग आवश्यक नहीं है। प्रश्न या तो HTMLUnit के साथ JSoup या XPath के साथ चयनकर्ताओं का उपयोग करके लिखा जा सकता है।


वेब स्क्रैपर का उपयोग करके, आप वेब पेज से उपयोगी सामग्री निकाल सकते हैं और लागू होने वाले किसी प्रारूप में रूपांतरित कर सकते हैं।

WebScrap ws= new WebScrap();
//set your extracted website url
ws.setUrl("http://dasnicdev.github.io/webscrap4j/");
//start scrap session
ws.startWebScrap();

अब आपका वेब-स्क्रैपिंग सत्र जावास्क्रिप्ट 4j लाइब्रेरी का उपयोग करके जावा में डेटा स्क्रैप या निकालने के लिए शुरू होता है और तैयार होता है।

शीर्षक के लिए:

System.out.println("-------------------Title-----------------------------");
System.out.println(ws.getSingleHTMLTagData("title"));

टैगलाइन के लिए:

System.out.println("-------------------Tagline-----------------------------");
System.out.println(ws.getSingleHTMLScriptData("<h2 id='project_tagline'>", "</h2>"));

सभी एंकर टैग के लिए:

System.out.println("-------------------All anchor tag-----------------------------");
   al=ws.getImageTagData("a", "href");
   for(String adata: al)
   {
    System.out.println(adata);
   }

छवि डेटा के लिए:

System.out.println("-------------------Image data-----------------------------");
   System.out.println(ws.getImageTagData("img", "src"));
   System.out.println(ws.getImageTagData("img", "alt"));

उल-ली डेटा के लिए:

System.out.println("-------------------Ul-Li Data-----------------------------");
   al=ws.getSingleHTMLScriptData("<ul>", "</ul>","<li>","</li>");
   for(String str:al)
   {
    System.out.println(str);
   }

पूर्ण स्रोत कोड के लिए इस tutorial जांच करें।







frameworks