OCaml

2015-11-03 7 views
5

के साथ HTML को पार्स करना मैं ओकैम में HTML फ़ाइलों को पार्स करने के लिए एक लाइब्रेरी की तलाश में हूं। मूल रूप से जेएसओपी/सुंदर सूप के बराबर। मुख्य आवश्यकता सीएसएस चयनकर्ताओं के साथ डीओएम से पूछताछ करने में सक्षम है।OCaml

page.fetch("http://www.url.com") 
page.find("#tag") 
+0

https://github.com/mirage/ocaml-cow – objmagic

+0

धन्यवाद के बारे में क्या। मैंने पाया कि ऐसा लगता है कि उनके एचटीएमएल समर्थन मजबूत नहीं है। "आप एचटीएमएल इनपुट पार्सिंग के साथ विभिन्न सीमाएं मार सकते हैं। हम गाय 1.0 से पहले इसे हल करने की उम्मीद करते हैं, लेकिन यह अभी तक नहीं है ..." – gidim

+0

'ओकैमलेट' के पास एचटीएमएल का विश्लेषण करने का एक तरीका है, हालांकि मुझे नहीं पता कि यह चयनकर्ता समर्थन है। –

उत्तर

5

के रूप में कुछ मैं हाल ही में कुछ इस तरह के लिए एक की जरूरत थी, इसलिए इस प्रश्न को देखे और टिप्पणियों में सिफारिशों को पढ़ने के बाद, मैं मनोरंजन के लिए सप्ताहांत में एक पुस्तकालय "Lambda Soup" लिखा था।

आप वास्तविक HTML पुनर्प्राप्त करने के लिए ओकुरल या कोहट्प जैसी लाइब्रेरी का उपयोग करना चाहेंगे। आपके पास यह करने के बाद, आप

html |> parse $ "#tag" 

प्रश्न में पूछे जाने के लिए कर सकते हैं। अन्य संभावनाओं और पूर्ण हस्ताक्षर के लिए, documentation देखें। आप सीएसएस समर्थन और एक्सटेंशन सहित उपयोग और क्षमताओं के काफी पूर्ण प्रदर्शन के लिए प्रलेखन postprocessor या tests पर देख सकते हैं।

प्रति टिप्पणियां, लैम्ब्डा सूप ओकमलनेट के HTML पार्सर का उपयोग करता है। लैम्ब्डा सूप Markup.ml का उपयोग करता है। अन्यथा, यदि आप परीक्षण चलाने की इच्छा रखते हैं तो ओनिट को छोड़कर इसकी कोई निर्भरता नहीं है। मैं इंटरफ़ेस को संशोधित करने के बारे में किसी भी प्रतिक्रिया के लिए खुश हूं (यह शुरुआती चरण में है) या लाइब्रेरी में एक HTTP डाउनलोडर जोड़ने की चर्चा (जो iffy लगता है क्योंकि यह अब लाइब्रेरी के दायरे को बहुत बदल देता है, लेकिन अब यह है, लेकिन मुझे तर्क सुनने में खुशी है)।

लाइसेंस बीएसडी है।

+0

यह बहुत अच्छा लग रहा है! आपके सभी कामों के लिए बहुत बहुत धन्यवाद। अगर मुझे कोई टिप्पणी है तो मैं निश्चित रूप से आपको बता दूंगा। मैं सहमत हूं कि इस चरण में HTTP डाउनलोड जोड़ना अनावश्यक है। – gidim

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