জেসুপ (JSoup) লাইব্রেরি দিয়ে ওয়েব পেজ থেকে HTML ফর্মের ডেটা এক্সট্র্যাক্ট করা খুবই সহজ। বিশেষ করে লগইন ফর্ম (Login Form) থেকে ইউজার নেম, পাসওয়ার্ড, এবং অন্যান্য ইনপুট ডেটা এক্সট্র্যাক্ট করার জন্য এটি একটি কার্যকরী উপায় হতে পারে।
এখানে আমরা একটি সাধারণ উদাহরণ দেখবো যেখানে একটি লগইন ফর্ম থেকে ডেটা এক্সট্র্যাক্ট করা হবে।
উদাহরণ: Login Form Data Extraction
ধরা যাক আমাদের একটি HTML লগইন ফর্ম রয়েছে, যেখানে ইউজার নেম, পাসওয়ার্ড এবং একটি সাবমিট বাটন রয়েছে। আমরা জেসুপ ব্যবহার করে এই ফর্মের ডেটা এক্সট্র্যাক্ট করতে পারি।
HTML ফর্ম:
<html>
<head><title>Login Page</title></head>
<body>
<form id="loginForm" action="/login" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username">
<br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password">
<br><br>
<button type="submit">Login</button>
</form>
</body>
</html>
জেসুপ দিয়ে ডেটা এক্সট্র্যাক্ট করা:
এখন আমরা জেসুপ ব্যবহার করে এই ফর্মের ইনপুট ফিল্ড থেকে ডেটা এক্সট্র্যাক্ট করবো। নিচে এর জন্য প্রয়োজনীয় কোড দেওয়া হল:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class LoginFormExtraction {
public static void main(String[] args) throws Exception {
// HTML ফর্মের উদাহরণ
String html = "<html><head><title>Login Page</title></head><body>" +
"<form id='loginForm' action='/login' method='post'>" +
"<label for='username'>Username:</label>" +
"<input type='text' id='username' name='username'>" +
"<br><br>" +
"<label for='password'>Password:</label>" +
"<input type='password' id='password' name='password'>" +
"<br><br>" +
"<button type='submit'>Login</button>" +
"</form></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// username এবং password ইনপুট ফিল্ড এক্সট্র্যাক্ট করা
Element usernameField = doc.select("input#username").first();
Element passwordField = doc.select("input#password").first();
// ইনপুট ফিল্ডের নাম এবং টাইপ প্রিন্ট করা
System.out.println("Username Field Name: " + usernameField.attr("name"));
System.out.println("Username Field Type: " + usernameField.attr("type"));
System.out.println("Password Field Name: " + passwordField.attr("name"));
System.out.println("Password Field Type: " + passwordField.attr("type"));
}
}
কোডের ব্যাখ্যা:
- HTML ডকুমেন্ট পার্স করা: প্রথমে
Jsoup.parse()মেথড ব্যবহার করে HTML ডকুমেন্ট পার্স করা হয়। - ফর্মের ইনপুট ফিল্ড খুঁজে বের করা:
doc.select("input#username")এবংdoc.select("input#password")মেথডের মাধ্যমে ইউজারনেম এবং পাসওয়ার্ড ইনপুট ফিল্ড এক্সট্র্যাক্ট করা হয়। - ফিল্ডের অ্যাট্রিবিউটস প্রিন্ট করা:
attr("name")এবংattr("type")ব্যবহার করে ইনপুট ফিল্ডের নাম এবং টাইপ পাওয়া যায়, যা লগইন ফর্মের জন্য প্রয়োজনীয় তথ্য।
আউটপুট:
Username Field Name: username
Username Field Type: text
Password Field Name: password
Password Field Type: password
সারাংশ
এই উদাহরণে আমরা দেখলাম কিভাবে জেসুপ (JSoup) ব্যবহার করে একটি HTML লগইন ফর্ম থেকে ডেটা এক্সট্র্যাক্ট করা যায়। ইউজারনেম এবং পাসওয়ার্ড ইনপুট ফিল্ডের নাম এবং টাইপ সঠিকভাবে বের করা হয়েছে, যা ওয়েব স্ক্র্যাপিং বা ফর্ম ডেটা এক্সট্র্যাকশন প্রক্রিয়ায় কাজে আসে। জেসুপ এমনভাবে ডিজাইন করা হয়েছে যাতে এটি HTML ডকুমেন্ট থেকে তথ্য এক্সট্র্যাক্ট করা সহজ করে তোলে এবং কোড কম্প্যাক্ট এবং স্পষ্ট থাকে।
Read more