এএসপি আরএস পার্সার, ফিড রিডার

ডিপোজিটফোটোস 4651719 এস

এই উইকএন্ডে আমি ওয়েব-ভিত্তিক আরএসএস ফিড পাঠকদের জন্য নেট অনুসন্ধান করে আমার ল্যাপটপে আটকানো হয়েছি। কারণটি হ'ল আমি একটি এসপিএস আরএসএস ফিড রিডার লিখতে চেয়েছিলাম যা ফিডটি প্রদর্শন করবে যাতে সামগ্রীটি স্বয়ংক্রিয়ভাবে কোনও HTML ইমেলের স্ক্র্যাপ হয়ে যায়। সুতরাং যেসব লোকেরা তাদের ব্লগ বা প্রকাশনা নিবন্ধগুলির জন্য তাদের ইমেল নিউজলেটারের একটি অংশ সংরক্ষণ করতে চান তাদের পক্ষে এটি সহজেই সংযুক্ত করা যেতে পারে। যেহেতু জাভাস্ক্রিপ্টটি ক্লায়েন্টটি লোড না করে এবং স্ক্রিপ্টটি কার্যকর না করে আসলে সামগ্রীটি প্রদর্শন করে না, তাই জাভাস্ক্রিপ্ট আরএসএস ব্রাউজারগুলির আধিক্য কার্যকর ছিল না। আমার একটি সার্ভার-সাইড আরএসএস ফিড রিডার দরকার।

আমি এমএসএক্সএমএল অবজেক্টটি ব্যবহার করে এএসপিতে আমার নিজের পার্সার লিখে শুরু করেছি। আমি আরএসএস ফিডগুলির প্রায় 75% অংশ পার্স করতে সক্ষম হয়েছি, তবে আরএসএস ফিডে কিছু আলগা এক্সএমএল স্পেসিফিকেশন প্রোগ্রাম করা খুব কঠিন বলে প্রমাণিত হয়েছিল। আপনি এটি কর্মে দেখতে পাবেন এখানে। আপনি আইটেমের সর্বাধিক সংখ্যা (এনআই), শব্দের (এনসি) কেটে দেওয়া অক্ষরের সংখ্যা, পাশাপাশি URL টিও পাস করতে পারেন। আপনি একটি ডিবাগ ভেরিয়েবলের সাথে প্রকৃত ফিডও দেখতে পাবেন এখানে.

অনেকগুলি RSS ফিডগুলি সত্যই বেশ 'নোংরা' এবং স্ট্রিং ম্যানিপুলেশন কোড (উঘ!) সহ এক্সএমএল ফাইলটিতে পাঠ্যকে পার্স করা প্রয়োজন। অবশ্যই, আমরা এখনও নেটগুলিতে আমাদের আরএসএসের 'যুবকদের' মধ্যে আছি তাই আমি অবাক হই না। আরএসএসের বিশেষ উল্লেখ সম্পর্কে আরও পড়ুন এখানে.

অবশেষে আমি একটু মণি পেরিয়ে এসেছি। ডাউনলোড করার জন্য আমি একটি ফ্রি এএসপি ক্লাস পেয়েছি। এটি কিছুটা ধীরে ধীরে, তবে আমি এমন কোনও ফিড পাইনি যা এটি পড়তে অক্ষম। আমি এখানে একটি স্ট্যাটিক সংস্করণ এবং একটি গতিশীল সংস্করণ পেয়েছি।

স্ক্রিপ্টে একটি দম্পতি নোট। প্রত্যাবর্তিত বর্ণনায় আমার কিছু HTML ট্যাগ সাফ করার দরকার নেই। আমি এটি একটি সামান্য পরিস্কার ফাংশন সহ পেয়েছি:

ফাংশন সরানএইচটিএমএল (স্ট্রাইটেক্সট) ডিম এনপোস 1 ডিম এনপোস 2 এনপোস 1 = ইনস্ট্রি (স্ট্র্যাটেক্সট, ">") এনপোস 1> 0 এনপোস = ইনসটার (এনপোস 2 + 1, স্ট্রেক্সট, ">") থাকলে এনপিএস 1> 2 তারপর আরআর টেক্সট, বাম (স্ট্রেক্সটেক্স, এনপিএস - 0) & মিড (strText, nPos1 + 1) অন্য প্রস্থানটি যদি শেষ হয় তবে nPos2 = InStr (strText, ">") লুপ সরান এইচটিএমএল = strText সমাপ্ত ফাংশন

আমি আরেকটি ঝরঝরে কোডও যুক্ত করেছি: কখনও কখনও, আমি কম-বেশি কোনও বিবরণ প্রদর্শন করতে চাই। তবে, আমি যদি কেবল অক্ষরের সংখ্যা সীমাবদ্ধ করি, তবে আমি শব্দের মাঝখানে বর্ণনাটি কেটে ফেলতে পারি। আমি এটা করতে চাই না!

ফাংশন কাটঅফ (স্ট্রেক্সটেক্সট, ইনচচার্স) মিমি ইন্টেলেন্থ ডিমে জে ইনলিংথ = লেন (স্ট্রাইটেক্সট) যদি ইনট্যাকার্স> ইন্টেলেন্থ এর জন্য j = ইন্টিচার্সের জন্য ০ স্টেপ -১ থেকে মিড (strText, j, 0) = "" তারপরে j> 1 তারপরে strText = বাম (strText, j-1) & "..." অন্যথায় strText = strText শেষ হলে Cutoff = strText শেষ ফাংশন

(এই এন্ট্রিটিতে আমার কোডটি সঠিকভাবে প্রদর্শন করতে আমার কিছু সমস্যা হয়েছিল ... এই ফাংশনগুলির কোনওটির সাথে যদি আপনার সমস্যা হয় তবে আমাকে জানান!)

আমি নেটে আরও কয়েকটি সরঞ্জাম লক্ষ্য করেছি। সেখানে একটি
.NET সংস্করণ, অনেক পিএইচপি সংস্করণ, জাভাস্ক্রিপ্ট সংস্করণ এক টন।

উপসংহারে, আমি আশা করি যে আরএসএসের নির্দিষ্টকরণগুলি পরিমার্জন করা অবিরত থাকবে এবং প্রকৃত ফিডগুলি সমস্ত ক্ষেত্রে এক্সএমএল মানগুলি মেনে চলে। টাইপপ্যাড, ওয়ার্ডপ্রেস ইত্যাদির মতো নিখরচায় অ্যাপ্লিকেশনগুলিতে তাদের আরএসএস কার্যকারিতা সংশোধন করা দরকার। মাইস্পেস, জাঙ্গা, লাইভ জার্নাল ইত্যাদির মতো অতিরিক্ত ব্লগগুলিতে তাদের আরএসএস কার্যকারিতা উন্নত করতে হবে। আরএসএস শক্তিশালী…ক্রিস ব্যাগগট ইমেল বনাম আরএসএসে একটি সুন্দর টুকরো লিখেছেন। আমি মনে করি তাদের কার্যকারিতা একত্রিত করার ফলে উভয়ের প্রভাব বাড়তে পারে!

আপনি কি মনে করেন?

এই সাইট স্প্যাম কমাতে Akismet ব্যবহার করে। আপনার ডেটা প্রক্রিয়া করা হয় তা জানুন.