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 ডকুমেন্টের গঠন বোঝা এবং পারস করার ক্ষমতা নির্দিষ্ট ট্যাগ বা অ্যাট্রিবিউট অনুসারে নির্দিষ্ট উপাদানগুলি এক্সট্র্যাক্ট করার প্রক্রিয়াটিকে সহজ করে তোলে।