Lua:
HTML পার্স করা

কিভাবে:

Lua-এ HTML পারস করার জন্য বিল্ট-ইন লাইব্রেরি নেই, কিন্তু আপনি LuaHTML অথবা LuaXML এর মাধ্যমে libxml2 এর বাইন্ডিংস ব্যবহার করে তৃতীয় পক্ষের লাইব্রেরিগুলি ব্যবহার করতে পারেন। একটি জনপ্রিয় প্রক্রিয়া হল lua-gumbo লাইব্রেরি ব্যবহার করা, যা সোজা, HTML5-অনুসরণীয় পারসিং ক্ষমতা প্রদান করে।

lua-gumbo ইন্সটল করা:

প্রথমে, নিশ্চিত করুন lua-gumbo ইন্সটল করা আছে। সাধারণত আপনি এটি luarocks ব্যবহার করে ইন্সটল করতে পারেন:

luarocks install lua-gumbo

lua-gumbo দিয়ে মৌলিক পারসিং:

এখানে আপনি কিভাবে একটি সাধারণ HTML স্নিপেট পারস করতে এবং তার থেকে ডেটা সংগ্রহ করতে পারেন lua-gumbo ব্যবহার করে:

local gumbo = require "gumbo"
local document = gumbo.parse[[<html><body><p>Hello, world!</p></body></html>]]

local p = document:getElementsByTagName("p")[1]
print(p.textContent)  -- Output: Hello, world!

উন্নত উদাহরণ - লিঙ্ক এক্সট্র্যাক্ট করা:

একটি HTML ডকুমেন্টে সমস্ত অ্যাংকর ট্যাগ (<a> উপাদান) থেকে href অ্যাট্রিবিউট এক্সট্র্যাক্ট করার জন্য:

local gumbo = require "gumbo"
local document = gumbo.parse([[
<html>
<head><title>Sample Page</title></head>
<body>
  <a href="http://example.com/1">Link 1</a>
  <a href="http://example.com/2">Link 2</a>
  <a href="http://example.com/3">Link 3</a>
</body>
</html>
]])

for _, element in ipairs(document.links) do
    if element.getAttribute then  -- Ensure it's an Element and has attributes
        local href = element:getAttribute("href")
        if href then print(href) end
    end
end

-- নমুনা আউটপুট:
-- http://example.com/1
-- http://example.com/2
-- http://example.com/3

এই কোড স্নিপেটটি ডকুমেন্টের সমস্ত লিংকগুলি ঘুরে তাদের href অ্যাট্রিবিউট প্রিন্ট করে। lua-gumbo লাইব্রেরির HTML ডকুমেন্টের গঠন বোঝা এবং পারস করার ক্ষমতা নির্দিষ্ট ট্যাগ বা অ্যাট্রিবিউট অনুসারে নির্দিষ্ট উপাদানগুলি এক্সট্র্যাক্ট করার প্রক্রিয়াটিকে সহজ করে তোলে।