Lua:
HTML विश्लेषण
कैसे करें:
Lua में HTML को पार्स करने के लिए बिल्ट-इन लाइब्रेरी नहीं है, पर आप LuaHTML
जैसी थर्ड-पार्टी लाइब्रेरीज का उपयोग कर सकते हैं या LuaXML
के माध्यम से libxml2
के बाइंडिंग्स का लाभ उठा सकते हैं। एक लोकप्रिय दृष्टिकोण HTML को पार्स करने के लिए lua-gumbo
लाइब्रेरी का उपयोग करना है, जो सीधे, HTML5-अनुरूप पार्सिंग क्षमता प्रदान करता है।
lua-gumbo इंस्टॉल करना:
सबसे पहले, सुनिश्चित करें कि lua-gumbo
इंस्टॉल है। आप आमतौर पर इसे luarocks का उपयोग करके इंस्टॉल कर सकते हैं:
luarocks install lua-gumbo
lua-gumbo के साथ मूल पार्सिंग:
यहाँ आप कैसे lua-gumbo
का उपयोग करके एक साधारण HTML स्निपेट को पार्स कर सकते हैं और इससे डेटा निकाल सकते हैं:
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) -- आउटपुट: 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 -- सुनिश्चित करें कि यह एक तत्व है और इसमें विशेषताएं हैं
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 दस्तावेज़ की संरचना को पार्स करने और समझने की क्षमता तत्वों को उनके टैग्स या विशेषताओं के आधार पर निकालने की प्रक्रिया को सरल बनाती है।