2009-10-14 22 views
11

मैं क्लोजर/जावा को पाइथन की एलएक्सएमएल लाइब्रेरी के बराबर देख रहा हूं।क्लोजर पाइथन की एलएक्सएमएल लाइब्रेरी के बराबर है?

मैंने इसे सभी प्रकार के एचटीएमएल (सुंदर सूप के प्रतिस्थापन के रूप में) के विश्लेषण के लिए अतीत में एक टन का उपयोग किया है और यह बहुत अच्छा है कि xml के लिए एक ही तत्व मुक्त एपीआई का उपयोग करने में सक्षम होना - वास्तव में एक भरोसेमंद दोस्त! क्या कोई भी इसी तरह की जावा/क्लोजर लाइब्रेरी की सिफारिश कर सकता है?

बारे में lxml

lxml एक xml और html प्रसंस्करण libxml2 के आधार पर पुस्तकालय है। यह टूटी हुई एचटीएमएल पेजों को बहुत अच्छी तरह से संभालता है, इसलिए यह स्क्रीन स्क्रैपिंग कार्यों के लिए उत्कृष्ट है। यह ElementTree api को भी लागू करता है, इसलिए xml/html संरचना को अन्य चीज़ों के साथ xpath और css चयनकर्ताओं के पूर्ण समर्थन के साथ एक पेड़ ऑब्जेक्ट के रूप में दर्शाया जाता है।

इसमें "क्लीनर" मॉड्यूल जैसे कुछ वास्तव में आसान उपयोगिता कार्य भी हैं जो "सूप" (यानी स्क्रिप्ट टैग, स्टाइल टैग इत्यादि ...) से अनचाहे टैग को हटा देंगे।

तो इसका उपयोग करना आसान है, मजबूत, और बहुत तेज ...!

+0

एलएक्सएमएल के बारे में एक संक्षिप्त विवरण जावा/क्लोजर विशेषज्ञों को समझने में मदद कर सकता है कि आप क्या देख रहे हैं – pstanton

+0

अच्छा विचार - "एलएक्सएमएल" अनुभाग जोड़ा गया – erikcw

उत्तर

8

लू ए: http://github.com/cgrand/enlive

मैं स्क्रीन scraping के लिए इसका इस्तेमाल किया है और यह है कि के लिए काफी अच्छी तरह से काम करता है। यह दस्तावेज़ में तत्वों को प्राप्त करने के लिए सिंटैक्स जैसे सीएसएस चयनकर्ता का उपयोग करता है।

4

जावा के लिए (और इस प्रकार क्लोजर से उपयोग करने योग्य) tagsoup-library है, जो lxml की तरह है, जो दोषपूर्ण एसजीएमएल-वेरिएंट के लिए एक सहिष्णु पार्सर है।

क्लोजर में एक बंडल नेमस्पेस clojure.xml है, लेकिन यह केवल वैध XML के साथ काम करेगा।

संबंधित मुद्दे