Ruby:
HTML পার্স করা
কিভাবে:
রুবিতে HTML পার্স করতে, gem install nokogiri
দিয়ে ‘নকোগিরি’ জেম ইনস্টল করুন। নকোগিরি এইচটিএমএল এবং এক্সএমএল নিয়ে রুবি ব্যবহারের জন্য একটি সুইস আর্মি ছুরির মতো। এখানে একটি দ্রুত উদাহরণ দেওয়া হল:
require 'nokogiri'
require 'open-uri'
# একটি ওয়েবসাইট থেকে HTML কনটেন্ট লোড করা
html_content = URI.open('http://example.com').read
# HTML পার্স করা
doc = Nokogiri::HTML(html_content)
# শিরোনাম নিষ্কাশন করা
title = doc.xpath('//title').text
puts "পৃষ্ঠার শিরোনাম হল: #{title}"
এটি প্রায় এমন কিছু বের করে: পৃষ্ঠার শিরোনাম হল: Example Domain
.
গভীর ডুব
রুবির প্রাথমিক দিনগুলিতে, HTML পার্স করার জন্য বিকল্পগুলি সীমিত ছিল। REXML সংযুক্ত ছিল কিন্তু ধীর ছিল। তারপর হ্রিপোটিক প্রকাশিত হয়েছিল, কিন্তু এটি মিলিয়ে গেছে। ২০০৮ সালে নকোগিরি চালু হয়েছিল, হ্রিপোটিকের সহজলভ্যতা এবং প্রমাণিত এক্সএমএল টুলকিট লিবএমএলের গতি এবং শক্তি মিলিয়ে।
পার্সিং জগতে, সবসময় বিকল্প রয়েছে। কিছু লোক ‘rexml’ লাইব্রেরি বা ‘oga’, আরেকটি রুবির জন্য XML/HTML পার্সার দ্বারা শপথ করে। কিন্তু নকোগিরি এর দৃঢ়তা এবং গতির জন্য, সেইসাথে এর বিভিন্ন বৈশিষ্ট্যের বিশাল সমারোহের জন্য প্রিয় থেকে গেছে।
আভ্যন্তরীণভাবে, নকোগিরি HTML কে একটি ডকুমেন্ট অবজেক্ট মডেল (DOM)-এ রূপান্তর করে—একটি গাছের গঠন। এটি উপাদানগুলি ন্যাভিগেট এবং মণিপুলেট করা সহজ করে তোলে। XPath এবং CSS সিলেক্টর ব্যবহার করে, আপনি যেকোনো তথ্যের টুকরা চিহ্নিত করতে পারেন।
আরো দেখুন
- নকোগিরি জেম: https://nokogiri.org/
- রুবির rexml ডকুমেন্টেশন: https://ruby-doc.org/stdlib-2.6.3/libdoc/rexml/rdoc/REXML/Document.html
- বিকল্প পার্সার ‘oga’: https://github.com/YorickPeterse/oga
- XPath সম্পর্কে জানুন: https://www.w3schools.com/xml/xpath_intro.asp