JSoup একটি শক্তিশালী লাইব্রেরি যা HTML ডকুমেন্ট থেকে সহজেই ডেটা এক্সট্র্যাক্ট করতে পারে। HTML ডকুমেন্টে বিভিন্ন এলিমেন্ট (যেমন: div, p, h1, a, ইত্যাদি) থেকে প্রয়োজনীয় ডেটা বের করার জন্য JSoup এর select() মেথড এবং অন্যান্য DOM ম্যানিপুলেশন টুলস ব্যবহার করা হয়।
HTML Elements থেকে ডেটা এক্সট্র্যাক্ট করার পদ্ধতি
select() মেথড ব্যবহার
JSoup এর select() মেথডটি CSS সিলেক্টর ব্যবহার করে HTML এলিমেন্ট নির্বাচন করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি এক্সট্র্যাক্ট করতে পারেন নির্দিষ্ট ট্যাগ, ক্লাস, আইডি অথবা অ্যাট্রিবিউটের ভিত্তিতে।
উদাহরণ ১: HTML থেকে নির্দিষ্ট ট্যাগের ডেটা এক্সট্র্যাক্ট করা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import java.io.IOException;
public class JsoupExample {
public static void main(String[] args) {
try {
String html = "<html><body><h1>Welcome to JSoup</h1><p>This is an example.</p></body></html>";
Document doc = Jsoup.parse(html);
// h1 ট্যাগ থেকে ডেটা এক্সট্র্যাক্ট করা
String heading = doc.select("h1").text();
System.out.println("Heading: " + heading);
// p ট্যাগ থেকে ডেটা এক্সট্র্যাক্ট করা
String paragraph = doc.select("p").text();
System.out.println("Paragraph: " + paragraph);
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
doc.select("h1").text()হেডিং (<h1>) থেকে টেক্সট এক্সট্র্যাক্ট করে।doc.select("p").text()প্যারাগ্রাফ (<p>) থেকে টেক্সট এক্সট্র্যাক্ট করে।
উদাহরণ ২: ক্লাস বা আইডি ভিত্তিক ডেটা এক্সট্র্যাক্ট করা
JSoup এর select() মেথড CSS সিলেক্টর ব্যবহার করে এলিমেন্টের ক্লাস বা আইডি দ্বারা ডেটা এক্সট্র্যাক্ট করতে পারে।
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import java.io.IOException;
public class JsoupExample {
public static void main(String[] args) {
try {
String html = "<html><body><div class='content'>This is content.</div><p id='intro'>Introduction paragraph.</p></body></html>";
Document doc = Jsoup.parse(html);
// class attribute দিয়ে div থেকে ডেটা এক্সট্র্যাক্ট করা
String content = doc.select(".content").text();
System.out.println("Content: " + content);
// id attribute দিয়ে p ট্যাগ থেকে ডেটা এক্সট্র্যাক্ট করা
String intro = doc.select("#intro").text();
System.out.println("Intro: " + intro);
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
doc.select(".content").text()ক্লাসcontentএর এলিমেন্ট থেকে টেক্সট এক্সট্র্যাক্ট করে।doc.select("#intro").text()আইডিintroএর এলিমেন্ট থেকে টেক্সট এক্সট্র্যাক্ট করে।
উদাহরণ ৩: অ্যাট্রিবিউটের ভিত্তিতে ডেটা এক্সট্র্যাক্ট করা
JSoup এর মাধ্যমে HTML এলিমেন্টের অ্যাট্রিবিউটও এক্সট্র্যাক্ট করা যায়, যেমন: href, src, alt ইত্যাদি।
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import java.io.IOException;
public class JsoupExample {
public static void main(String[] args) {
try {
String html = "<html><body><a href='https://example.com'>Example Link</a></body></html>";
Document doc = Jsoup.parse(html);
// href অ্যাট্রিবিউট থেকে ডেটা এক্সট্র্যাক্ট করা
String link = doc.select("a").attr("href");
System.out.println("Link: " + link);
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
doc.select("a").attr("href")একটি<a>ট্যাগেরhrefঅ্যাট্রিবিউটের মান এক্সট্র্যাক্ট করে।
সারাংশ
JSoup দিয়ে HTML এলিমেন্ট থেকে ডেটা এক্সট্র্যাক্ট করা খুবই সহজ। select() মেথড CSS সিলেক্টরের মাধ্যমে নির্দিষ্ট ট্যাগ, ক্লাস, আইডি, অথবা অ্যাট্রিবিউটের ভিত্তিতে তথ্য বের করতে সাহায্য করে। এর মাধ্যমে আপনি টেক্সট, অ্যাট্রিবিউট এবং অন্যান্য HTML উপাদান থেকে ডেটা সহজেই এক্সট্র্যাক্ট করতে পারেন। JSoup একটি খুবই শক্তিশালী এবং কার্যকরী টুল যা HTML ডকুমেন্ট প্রসেসিংয়ে ডেভেলপারদের অনেক সুবিধা দেয়।
Read more