1. পণ্য
  2.   HTML
  3.   Ruby
  4.   Nokogiri
 
  

HTML ফাইল পড়া, লেখা ও পার্স করার জন্য ফ্রি রুবি লাইব্রেরি

HTML এবং XML ডকুমেন্ট হ্যান্ডল করার জন্য ওপেন সোর্স রুবি লাইব্রেরি। এটি রুবি API এর মাধ্যমে HTML ডকুমেন্ট পড়া, লেখা, পরিবর্তন এবং কুয়েরি করার সমর্থন প্রদান করে।

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

নোকোগিরি একটি অত্যন্ত শক্তিশালী ওপেন সোর্স রুবি জেম, যা রুবি প্রোগ্রামিং ভাষা এবং libxml2 ও libxslt লাইব্রেরিগুলোর মধ্যে সেতু হিসেবে কাজ করে। এটি সফটওয়্যার ডেভেলপারদের সহজে HTML এবং XML উভয় ডকুমেন্ট পার্স এবং ম্যানিপুলেট করতে সক্ষম করে। আপনি যদি ওয়েবসাইট থেকে ডেটা স্ক্র্যাপ করেন, XML-ভিত্তিক API থেকে তথ্য বের করেন, অথবা ডকুমেন্টের গঠন পরিবর্তন করেন, এই কাজগুলোকে এটি সহজ করে। লাইব্রেরিটি XPath 1.0 দ্বারা ডকুমেন্ট অনুসন্ধান, XSD স্কিমা ভ্যালিডেশন, XML-এর জন্য DOM বা SAX পার্সার, XSLT ট্রান্সফরমেশন, HTML4 এবং HTML5 ইত্যাদি সমর্থন করে।

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

Previous Next

Nokogiri দিয়ে শুরু করা

Nokogiri ইনস্টল করার সুপারিশকৃত এবং সহজতম উপায় হল RubyGems, রুবির নির্ভরতা ব্যবস্থাপনা টুল ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

RubyGemsx মাধ্যমে Nokogiri ইনস্টল করুন

$ gem install nokogiri

আপনি এটিও ম্যানুয়ালি ইনস্টল করতে পারেন; সর্বশেষ রিলিজ ফাইলগুলি সরাসরি GitHub রিপোজিটরি থেকে ডাউনলোড করুন।

Ruby API মাধ্যমে HTML ডকুমেন্ট পার্স করা

ওপেন সোর্স Nokogiri লাইব্রেরি রুবি অ্যাপ্লিকেশনের মধ্যে HTML এবং XML ডকুমেন্ট লোড ও পার্স করার সমর্থন অন্তর্ভুক্ত করেছে। HTML এবং XML ডকুমেন্ট পার্স করা Nokogiri এর সক্ষমতার মূল ভিত্তি। লাইব্রেরিটি ডকুমেন্ট পার্স করার দুটি প্রধান পদ্ধতি প্রদান করে: ফাইল থেকে অথবা স্ট্রিং থেকে। লক্ষ্য অর্জনের জন্য প্রথমে আপনি এর Nokogiri::HTML ক্লাস ব্যবহার করে একটি ডকুমেন্ট অবজেক্ট তৈরি করেন এবং পরে CSS বা XPath এর মতো বিভিন্ন মেথড ও সিলেক্টর ব্যবহার করে ডকুমেন্টটি ট্রাভার্স করতে পারেন। নিম্নলিখিত উদাহরণটি দেখায় কীভাবে সফটওয়্যার ডেভেলপাররা রুবি কমান্ড ব্যবহার করে একটি ডকুমেন্ট পার্স এবং কুয়েরি করতে পারেন।

Ruby অ্যাপের মধ্যে HTML ডকুমেন্ট কীভাবে পার্স এবং কুয়েরি করবেন?

#! /usr/bin/env ruby

require 'nokogiri'
require 'open-uri'

# Fetch and parse HTML document
doc = Nokogiri::HTML(URI.open('https://nokogiri.org/tutorials/installing_nokogiri.html'))

# Search for nodes by css
doc.css('nav ul.menu li a', 'article h2').each do |link|
  puts link.content
end

# Search for nodes by xpath
doc.xpath('//nav//ul//li/a', '//article//h2').each do |link|
  puts link.content
end

# Or mix and match
doc.search('nav ul.menu li a', '//article//h2').each do |link|
  puts link.content
end

Ruby ব্যবহার করে HTML/XML ডকুমেন্ট পরিবর্তন করা

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

Ruby API ব্যবহার করে কীভাবে একটি HTML ডকুমেন্টে নতুন উপাদান যোগ করবেন?

new_element = Nokogiri::XML::Node.new('p', doc)
new_element.content = 'This is a new paragraph.'

# Add the new element to the document
doc.root.add_child(new_element)

Ruby মাধ্যমে XPath এবং CSS সিলেক্টর ব্যবহার করা

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

Ruby API ব্যবহার করে XPath অথবা CSS সিলেক্টর দিয়ে কীভাবে উপাদানগুলি নির্বাচন করবেন?

new_element = Nokogiri::XML::Node.new('p', doc)
new_element.content = 'This is a new paragraph.'

# Add the new element to the document
doc.root.add_child(new_element)

 বাংলা