एएसपी आरएसएस पार्सर, फीड रीडर

डिपॉजिटफोटो 4651719 एस

इस सप्ताह के अंत में मैं अपने लैपटॉप से ​​वेब-आधारित आरएसएस फ़ीड पाठकों के लिए नेट खोज रहा हूं। कारण यह है कि मैं एक एएसपी आरएसएस फ़ीड रीडर लिखना चाहता था जो फ़ीड प्रदर्शित करेगा ताकि सामग्री को स्वचालित रूप से एक HTML ईमेल में स्क्रैप किया जा सके। इसलिए जो लोग अपने ईमेल न्यूज़लेटर के एक हिस्से को अपने ब्लॉग या प्रकाशन लेखों के लिए आरक्षित करना चाहते हैं, उनके लिए इसे आसानी से शामिल किया जा सकता है। चूंकि जावास्क्रिप्ट वास्तव में सामग्री को तब तक प्रदर्शित नहीं करता है जब तक कि क्लाइंट स्क्रिप्ट को लोड और निष्पादित नहीं करता है, जावास्क्रिप्ट आरएसएस ब्राउज़रों की अधिकता उपयोगी नहीं थी। मुझे सर्वर-साइड RSS फ़ीड रीडर की आवश्यकता थी।

मैंने ASP में MSXML ऑब्जेक्ट का उपयोग करके अपना स्वयं का पार्सर लिखकर शुरू किया। मैं ऐसा करने वाले लगभग 75% RSS फीड्स को पार्स करने में सक्षम था, लेकिन RSS फीड्स पर ढीले XML विनिर्देशों में से कुछ को प्रोग्राम करना बहुत मुश्किल साबित हुआ। आप इसे कार्रवाई में देख सकते हैं यहाँ। आप अधिकतम आइटम (नी), वर्णों की संख्या शब्द (nc), और साथ ही URL को काट सकते हैं। आप डिबग चर के साथ वास्तविक फ़ीड भी देख सकते हैं यहाँ.

कई आरएसएस फ़ीड वास्तव में काफी 'गंदे' हैं और एक्सएमएल फ़ाइल में स्ट्रिंग मैनिपुलेशन कोड (यूघ!) के साथ टेक्स्ट को पार्स करने की आवश्यकता है। बेशक, हम अभी भी अपने आरएसएस 'युवाओं' में नेट पर हैं इसलिए मुझे आश्चर्य नहीं है। आरएसएस विनिर्देशों के बारे में और पढ़ें यहाँ.

अंत में, मुझे एक छोटा रत्न मिला। मुझे डाउनलोड करने के लिए एक मुफ्त एएसपी वर्ग मिला। यह थोड़ा धीमा है, लेकिन मुझे ऐसा कोई फ़ीड नहीं मिला है जिसे पढ़ने में असमर्थ हो। मेरे पास यहां एक स्थिर संस्करण है और यहां एक गतिशील संस्करण है।

एक जोड़ी स्क्रिप्ट पर ध्यान देती है। मुझे दिए गए विवरणों में कुछ HTML टैग्स को खाली करने की आवश्यकता थी। मैंने पाया कि एक छोटे से सफाई समारोह के साथ:

फ़ंक्शन निकालें HTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") DoP जबकि nPos1> 0 nPos2 = InStr (nPos1 / 1, strText, ">") यदि nPos2> 0 तब strText = Left (स्ट्रेटटेक्स्ट) - 1) और मिड (strText, nPos1 + 2) Else Exit Do End समाप्त हो जाता है अगर nPos1 = InStr (strText, ">") लूप RemoveHTML = strText End फंक्शन

मैंने एक और साफ-सुथरा कोड भी जोड़ा: कभी-कभी, मैं कम या ज्यादा विवरण प्रदर्शित करना चाह सकता हूं। हालांकि, अगर मैं केवल वर्णों की संख्या को सीमित करता हूं, तो मैं शब्द के बीच में विवरण काट सकता हूं। मैं ऐसा नहीं करना चाहता!

कटऑफ (स्ट्रैटेक्स्ट, इंटचर्स) डिम इंटर्लेंग्शन डिम ज इन्टलॉन्गिफ्ट = लेन (स्ट्रैटेक्स्ट) यदि इंटचर्स> इंटलॉन्गिटी तो j = intChars के लिए 0 स्टेप -1 अगर मिड (स्ट्रैटेक्स्ट, j, 1) = "" तो अगले के लिए बाहर निकलें तो j> 0 फिर strText = left (strText, j-1) & "..." strText = strText अंत में यदि कटऑफ = strText अंत फ़ंक्शन

(मुझे इस प्रविष्टि में अपने कोड को सही ढंग से प्रदर्शित करने में कुछ समस्याएं थीं ... मुझे बताएं कि क्या आपको इनमें से किसी भी समस्या के साथ समस्या है!)

मैंने नेट पर कुछ और टूल भी देखे हैं। वहां एक है
. नेट संस्करण, कई PHP संस्करण, जावास्क्रिप्ट संस्करणों का एक टन।

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

तुम्हें क्या लगता है?

यह साइट स्पैम को कम करने के लिए अकिस्मेट का उपयोग करती है। जानें कि आपका डेटा कैसे संसाधित किया जाता है.