JSoup আপনাকে CSS selectors ব্যবহার করে HTML ডকুমেন্টের বিভিন্ন এলিমেন্ট এক্সট্র্যাক্ট করতে সাহায্য করে। CSS selectors হচ্ছে HTML ডকুমেন্টের উপাদানগুলির (elements) সাথে ইন্টারঅ্যাক্ট করার জন্য একটি শক্তিশালী পদ্ধতি। JSoup এর মাধ্যমে আপনি HTML ট্যাগ, ক্লাস, আইডি, অ্যাট্রিবিউট ইত্যাদি অনুসন্ধান এবং এক্সট্র্যাক্ট করতে পারেন।
CSS Selectors এর সাথে কাজ করা
JSoup এ CSS selectors ব্যবহার করার মাধ্যমে আপনি HTML ডকুমেন্ট থেকে সহজে ডেটা এক্সট্র্যাক্ট করতে পারেন। CSS selectors আপনাকে HTML ট্যাগগুলির মধ্যে বিভিন্ন নির্দিষ্ট উপাদান খুঁজে বের করতে সহায়তা করে। নিচে কিছু সাধারণ CSS selectors এর উদাহরণ দেওয়া হল।
কিছু সাধারণ CSS Selectors:
tag: সমস্ত ট্যাগ যেমনdiv,p,h1।.class: নির্দিষ্ট ক্লাস নাম সহ সমস্ত উপাদান।#id: নির্দিষ্ট আইডি সহ উপাদান।tag.class: নির্দিষ্ট ট্যাগ এবং ক্লাস নাম সহ উপাদান।tag#id: নির্দিষ্ট ট্যাগ এবং আইডি সহ উপাদান।
CSS Selectors দিয়ে HTML এলিমেন্ট এক্সট্র্যাক্ট করা
এখন চলুন, JSoup দিয়ে CSS selectors ব্যবহার করে HTML এলিমেন্ট এক্সট্র্যাক্ট করার একটি উদাহরণ দেখি।
উদাহরণ কোড: CSS Selectors দিয়ে এলিমেন্ট এক্সট্র্যাক্ট করা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupCSSSelectors {
public static void main(String[] args) throws Exception {
// HTML ডকুমেন্ট স্ট্রিং
String html = "<html>" +
"<head><title>Example Page</title></head>" +
"<body>" +
"<h1 class='heading'>Welcome to JSoup</h1>" +
"<p id='intro'>This is an example of CSS selectors in JSoup.</p>" +
"<div class='content'>Here is some content.</div>" +
"<p class='description'>This is a description paragraph.</p>" +
"</body>" +
"</html>";
// HTML ডকুমেন্ট পার্স করা
Document doc = Jsoup.parse(html);
// .heading ক্লাস ব্যবহার করে h1 ট্যাগ এক্সট্র্যাক্ট করা
Element heading = doc.select(".heading").first();
System.out.println("Heading: " + heading.text());
// #intro আইডি ব্যবহার করে প্যারাগ্রাফ এক্সট্র্যাক্ট করা
Element introParagraph = doc.select("#intro").first();
System.out.println("Intro Paragraph: " + introParagraph.text());
// .content ক্লাস ব্যবহার করে div ট্যাগ এক্সট্র্যাক্ট করা
Element contentDiv = doc.select(".content").first();
System.out.println("Content Div: " + contentDiv.text());
// .description ক্লাস ব্যবহার করে সমস্ত প্যারাগ্রাফ এক্সট্র্যাক্ট করা
Elements paragraphs = doc.select(".description");
for (Element paragraph : paragraphs) {
System.out.println("Description: " + paragraph.text());
}
}
}
কোডের ব্যাখ্যা:
doc.select(".heading").first()এর মাধ্যমে.headingক্লাস ব্যবহার করে প্রথমh1ট্যাগের কনটেন্ট এক্সট্র্যাক্ট করা হয়েছে।doc.select("#intro").first()এর মাধ্যমে#introআইডি ব্যবহার করে প্যারাগ্রাফ এক্সট্র্যাক্ট করা হয়েছে।doc.select(".content").first()এর মাধ্যমে.contentক্লাস ব্যবহার করেdivট্যাগের কনটেন্ট এক্সট্র্যাক্ট করা হয়েছে।doc.select(".description")এর মাধ্যমে.descriptionক্লাসের সমস্ত প্যারাগ্রাফ এক্সট্র্যাক্ট করা হয়েছে এবংforলুপের মাধ্যমে একে একে তাদের টেক্সট প্রিন্ট করা হয়েছে।
CSS Selectors এর উন্নত ব্যবহার
JSoup আপনাকে আরও উন্নত CSS selectors ব্যবহারের সুযোগ দেয়, যেমন:
:nth-child(n): কোন উপাদানের নির্দিষ্ট পজিশন নির্বাচন করা।:contains(text): যে উপাদানে নির্দিষ্ট টেক্সট রয়েছে, সেগুলি নির্বাচন করা।*: সকল উপাদান নির্বাচন করা।
উদাহরণ কোড: উন্নত CSS Selectors ব্যবহার
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupAdvancedSelectors {
public static void main(String[] args) throws Exception {
// HTML ডকুমেন্ট স্ট্রিং
String html = "<html>" +
"<head><title>Advanced Selectors</title></head>" +
"<body>" +
"<ul>" +
"<li>Item 1</li>" +
"<li>Item 2</li>" +
"<li>Item 3</li>" +
"</ul>" +
"<p>This is a <strong>test</strong> paragraph.</p>" +
"</body>" +
"</html>";
// HTML ডকুমেন্ট পার্স করা
Document doc = Jsoup.parse(html);
// :nth-child(n) সিলেক্টর দিয়ে প্রথম li ট্যাগ এক্সট্র্যাক্ট করা
Element firstItem = doc.select("li:nth-child(1)").first();
System.out.println("First Item: " + firstItem.text());
// :contains(text) সিলেক্টর দিয়ে 'test' টেক্সট থাকা প্যারাগ্রাফ এক্সট্র্যাক্ট করা
Elements paragraphs = doc.select("p:contains(test)");
for (Element paragraph : paragraphs) {
System.out.println("Paragraph with 'test': " + paragraph.text());
}
}
}
সারাংশ
JSoup এর CSS selectors এর মাধ্যমে আপনি HTML ডকুমেন্ট থেকে নির্দিষ্ট এলিমেন্টগুলি সহজেই এক্সট্র্যাক্ট করতে পারেন। এটি ডেভেলপারদের জন্য একটি শক্তিশালী টুল, যা HTML ডকুমেন্টের এলিমেন্ট খুঁজে বের করার জন্য CSS স্টাইল শিটের মতো সিলেক্টর ব্যবহার করতে সাহায্য করে। JSoup আপনাকে সহজ ও উন্নত CSS selectors ব্যবহার করে দ্রুত এবং কার্যকরীভাবে ডেটা এক্সট্র্যাক্ট করার সুযোগ প্রদান করে।
জেসুপ (JSoup) লাইব্রেরিতে CSS Selectors এমন একটি পদ্ধতি যা HTML ডকুমেন্টের মধ্যে থাকা উপাদানগুলো নির্বাচন করার জন্য ব্যবহৃত হয়। CSS (Cascading Style Sheets) সিলেক্টর মূলত HTML বা XML ডকুমেন্টের নির্দিষ্ট ট্যাগ, ক্লাস, আইডি বা অন্য যে কোনো বৈশিষ্ট্যের ভিত্তিতে উপাদান চিহ্নিত করতে ব্যবহৃত হয়। JSoup CSS সিলেক্টরের সাহায্যে HTML ডকুমেন্টে থাকা বিভিন্ন উপাদান যেমন ট্যাগ, ক্লাস, আইডি এবং অ্যাট্রিবিউটস ইত্যাদি খুব সহজেই সিলেক্ট করা যায়।
CSS সিলেক্টরের ব্যবহার কেন প্রয়োজন?
জেসুপে CSS সিলেক্টর ব্যবহার করার কিছু কারণ রয়েছে:
- সহজ এবং পরিচিত পদ্ধতি
CSS সিলেক্টর অনেক জনপ্রিয় এবং প্রায় সব ওয়েব ডেভেলপার CSS এর মাধ্যমে HTML উপাদান নির্বাচন করতে অভ্যস্ত। এর ফলে জেসুপে CSS সিলেক্টর ব্যবহারের মাধ্যমে HTML ডকুমেন্ট ম্যানিপুলেট করা সহজ হয়ে ওঠে। - বেশি কার্যকরী
CSS সিলেক্টর দিয়ে একসাথে বিভিন্ন প্রকারের উপাদান সিলেক্ট করা যায়। যেমন, একক ট্যাগ, নির্দিষ্ট ক্লাস বা আইডি ব্যবহার করে HTML এর বিভিন্ন অংশ সহজেই নির্বাচিত করা সম্ভব। - কোডের স্বচ্ছতা
CSS সিলেক্টরের মাধ্যমে HTML কোডের বিভিন্ন উপাদান নির্বাচন করতে হলে খুব কম কোড লেখা হয় এবং কোডটি পরিষ্কার এবং সহজবোধ্য হয়। - সমর্থনিত পদ্ধতি
CSS সিলেক্টর ওয়েব ডেভেলপমেন্টে ব্যবহৃত অন্যান্য টুলসের সঙ্গেও সমন্বয় সাধন করতে পারে, যেমন JavaScript এবং jQuery, তাই জেসুপের CSS সিলেক্টর খুবই বহুল ব্যবহৃত এবং সহজ।
CSS সিলেক্টর কীভাবে কাজ করে?
CSS সিলেক্টর HTML ডকুমেন্টের মধ্যে থাকা উপাদানগুলো নির্বাচন করতে স্টাইলশিটের নিয়ম অনুসরণ করে। জেসুপেও এই সিলেক্টর ব্যবহার করে সহজে নির্দিষ্ট উপাদানগুলোকে নির্বাচন করতে পারি।
উদাহরণস্বরূপ:
ধরা যাক, আমাদের HTML ডকুমেন্টে কিছু <div>, <a>, <h1> ট্যাগ এবং ক্লাস রয়েছে। CSS সিলেক্টর ব্যবহার করে এই উপাদানগুলোর মধ্যে নির্দিষ্ট কোন একটিকে নির্বাচন করা সম্ভব।
<html>
<body>
<h1>Welcome to JSoup</h1>
<p class="description">JSoup is a Java library.</p>
<a href="http://example.com" class="external">Visit Example</a>
<div id="container">
<p>This is inside the container.</p>
</div>
</body>
</html>
CSS সিলেক্টর ব্যবহার করে উপাদান নির্বাচন:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class CssSelectorExample {
public static void main(String[] args) throws Exception {
// HTML ডকুমেন্ট
String html = "<html><body><h1>Welcome to JSoup</h1><p class='description'>JSoup is a Java library.</p><a href='http://example.com' class='external'>Visit Example</a><div id='container'><p>This is inside the container.</p></div></body></html>";
// HTML পার্স করা
Document doc = Jsoup.parse(html);
// CSS সিলেক্টর ব্যবহার করে উপাদান নির্বাচন
Element heading = doc.select("h1").first(); // <h1> ট্যাগ নির্বাচন
Element link = doc.select(".external").first(); // .external ক্লাস নির্বাচন
Element paragraph = doc.select("p.description").first(); // .description ক্লাস সহ <p> ট্যাগ নির্বাচন
// নির্বাচিত উপাদানগুলোর কন্টেন্ট প্রদর্শন
System.out.println("Heading: " + heading.text());
System.out.println("Link: " + link.attr("href"));
System.out.println("Paragraph: " + paragraph.text());
}
}
কোড ব্যাখ্যা:
- doc.select("h1"): এখানে
"h1"সিলেক্টর দিয়ে সমস্ত<h1>ট্যাগ নির্বাচন করা হয়েছে। - doc.select(".external"): এখানে
.externalসিলেক্টর দিয়েclass="external"অ্যাট্রিবিউটযুক্ত প্রথম<a>ট্যাগ নির্বাচন করা হয়েছে। - doc.select("p.description"): এই সিলেক্টর দিয়ে
class="description"ক্লাসযুক্ত প্রথম<p>ট্যাগ নির্বাচন করা হয়েছে।
সারাংশ
জেসুপ (JSoup) লাইব্রেরিতে CSS সিলেক্টর একটি শক্তিশালী এবং সহজ পদ্ধতি HTML ডকুমেন্টের মধ্যে থাকা নির্দিষ্ট উপাদানগুলো নির্বাচন করার জন্য। এটি HTML ট্যাগ, ক্লাস, আইডি, অ্যাট্রিবিউট ইত্যাদি সিলেক্ট করতে সাহায্য করে এবং কোড লেখার প্রক্রিয়াকে সহজ করে। CSS সিলেক্টরের মাধ্যমে ডেভেলপাররা খুব দ্রুত ও কার্যকরীভাবে HTML উপাদান নির্বাচন ও ম্যানিপুলেশন করতে পারেন, যা ওয়েব স্ক্র্যাপিং এবং ডকুমেন্ট ম্যানিপুলেশনের জন্য অত্যন্ত কার্যকর।
জেসুপ (JSoup) CSS Selectors ব্যবহার করে HTML ডকুমেন্টের বিভিন্ন উপাদান নির্বাচন করতে সাহায্য করে। CSS Selectors হল স্টাইল শিটগুলিতে ব্যবহৃত নিয়ম, যা HTML ডকুমেন্টের নির্দিষ্ট ট্যাগ, ক্লাস, আইডি এবং অন্যান্য অ্যাট্রিবিউটগুলি নির্বাচন করতে ব্যবহৃত হয়। জেসুপ এর মাধ্যমে CSS Selectors ব্যবহার করে ডকুমেন্টের যে কোনো উপাদান (Elements) সহজে নির্বাচন করা যায়।
CSS Selectors ব্যবহার করার পদ্ধতি
একটি নির্দিষ্ট ট্যাগ নির্বাচন করা
আপনি যদি HTML ডকুমেন্টের কোনো নির্দিষ্ট ট্যাগ নির্বাচন করতে চান, তাহলে CSS Selector ব্যবহার করে select() মেথডটি ব্যবহার করা যায়। নিচে একটি উদাহরণ দেখানো হল যেখানে একটি <h1> ট্যাগ নির্বাচন করা হয়েছে:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupCssSelectorExample {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><h1>Welcome to JSoup</h1></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// <h1> ট্যাগ নির্বাচন করা
Element h1 = doc.select("h1").first();
// নির্বাচিত <h1> ট্যাগের টেক্সট প্রিন্ট করা
System.out.println("Heading: " + h1.text());
}
}
এখানে select("h1") CSS Selector ব্যবহার করে <h1> ট্যাগটি নির্বাচন করা হয়েছে।
ক্লাস দ্বারা উপাদান নির্বাচন করা
CSS Selectors ব্যবহার করে আপনি HTML ডকুমেন্টের কোনো নির্দিষ্ট ক্লাসের সাথে সম্পর্কিত উপাদানগুলোও নির্বাচন করতে পারেন। উদাহরণস্বরূপ, যদি একটি ট্যাগের ক্লাস intro হয়, তাহলে CSS Selector দিয়ে এটি নির্বাচন করা সম্ভব:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupCssSelectorExample {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><p class='intro'>This is an introduction.</p></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// .intro ক্লাস দ্বারা প্যারাগ্রাফ নির্বাচন করা
Element paragraph = doc.select(".intro").first();
// নির্বাচিত প্যারাগ্রাফের টেক্সট প্রিন্ট করা
System.out.println("Paragraph: " + paragraph.text());
}
}
এখানে .intro CSS Selector ব্যবহার করে ক্লাস intro এর সাথে সম্পর্কিত <p> ট্যাগটি নির্বাচন করা হয়েছে।
আইডি দ্বারা উপাদান নির্বাচন করা
আপনি যদি একটি নির্দিষ্ট আইডি দিয়ে HTML উপাদান নির্বাচন করতে চান, তাহলে CSS Selector দিয়ে # চিহ্ন ব্যবহার করা হয়। উদাহরণস্বরূপ:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupCssSelectorExample {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><div id='main'>This is the main content.</div></body></html>";
// HTML পার্সিং
Document doc = Jsoup.parse(html);
// #main আইডি দ্বারা ডিভ নির্বাচন করা
Element div = doc.select("#main").first();
// নির্বাচিত ডিভের টেক্সট প্রিন্ট করা
System.out.println("Div Content: " + div.text());
}
}
এখানে #main CSS Selector ব্যবহার করে আইডি main এর সাথে সম্পর্কিত <div> ট্যাগটি নির্বাচন করা হয়েছে।
আরও CSS Selectors
আপনি আরও নানা CSS Selector ব্যবহার করে HTML উপাদান নির্বাচন করতে পারেন, যেমন:
div > p:divট্যাগের ভিতরেরpট্যাগ নির্বাচন করাa[href]: যেসব<a>ট্যাগেরhrefঅ্যাট্রিবিউট রয়েছে, সেগুলো নির্বাচন করাp:nth-of-type(2):pট্যাগের দ্বিতীয় উপাদান নির্বাচন করা
সারাংশ
জেসুপ (JSoup) ব্যবহার করে CSS Selectors দিয়ে HTML ডকুমেন্ট থেকে বিভিন্ন উপাদান নির্বাচন করা খুবই সহজ। আপনি CSS Selector ব্যবহার করে ট্যাগ, ক্লাস, আইডি এবং অন্যান্য নির্বাচক দিয়ে উপাদানগুলি নির্বাচন করতে পারেন। এটি HTML ডকুমেন্টের মধ্য থেকে নির্দিষ্ট তথ্য এক্সট্র্যাক্ট করতে সাহায্য করে এবং ওয়েব স্ক্র্যাপিং বা ডেটা প্রক্রিয়াকরণের জন্য খুবই কার্যকরী।
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 ডকুমেন্ট প্রসেসিংয়ে ডেভেলপারদের অনেক সুবিধা দেয়।
জেসুপ (JSoup) HTML ডকুমেন্টের মধ্যে থাকা বিভিন্ন উপাদানের (elements) অ্যাট্রিবিউট এবং টেক্সট কন্টেন্ট সহজে এক্সেস করার জন্য শক্তিশালী মেথড সরবরাহ করে। এই মেথডগুলির মাধ্যমে আপনি HTML ট্যাগের অ্যাট্রিবিউটের মান বা টেক্সট কন্টেন্ট বের করতে পারেন।
অ্যাট্রিবিউট (Attributes) এক্সেস করা
HTML ডকুমেন্টের উপাদানগুলিতে অ্যাট্রিবিউট থাকে, যেমন href, src, alt ইত্যাদি। জেসুপ ব্যবহার করে আপনি সহজে এই অ্যাট্রিবিউটের মান উদ্ধার করতে পারেন।
উদাহরণ: অ্যাট্রিবিউট এক্সেস করা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupExample {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>JSoup Example</title></head><body><a href='https://example.com'>Click here</a></body></html>";
// HTML পার্স করা
Document doc = Jsoup.parse(html);
// অ্যাঙ্কর ট্যাগ (a) নির্বাচন করা
Element link = doc.select("a").first();
// href অ্যাট্রিবিউট এক্সেস করা
String href = link.attr("href");
System.out.println("Link: " + href); // https://example.com
}
}
এই উদাহরণে, attr() মেথড ব্যবহার করে <a> ট্যাগের href অ্যাট্রিবিউটের মান এক্সট্র্যাক্ট করা হয়েছে।
টেক্সট কন্টেন্ট (Text Content) এক্সেস করা
HTML উপাদানগুলির মধ্যে টেক্সট কন্টেন্ট থাকে যা সাধারণত ট্যাগের মধ্যে থাকে। জেসুপের text() মেথড ব্যবহার করে আপনি সহজেই এই টেক্সট কন্টেন্ট এক্সট্র্যাক্ট করতে পারেন।
উদাহরণ: টেক্সট কন্টেন্ট এক্সেস করা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupExample {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>JSoup Example</title></head><body><h1>Welcome to JSoup</h1><p>This is a paragraph.</p></body></html>";
// HTML পার্স করা
Document doc = Jsoup.parse(html);
// হেডিং (h1) এবং প্যারাগ্রাফ (p) টেক্সট এক্সট্র্যাক্ট করা
Element heading = doc.select("h1").first();
Element paragraph = doc.select("p").first();
// টেক্সট কন্টেন্ট এক্সট্র্যাক্ট করা
String headingText = heading.text();
String paragraphText = paragraph.text();
System.out.println("Heading: " + headingText); // Welcome to JSoup
System.out.println("Paragraph: " + paragraphText); // This is a paragraph.
}
}
এখানে text() মেথড ব্যবহার করে <h1> এবং <p> ট্যাগের ভিতরের টেক্সট কন্টেন্ট এক্সট্র্যাক্ট করা হয়েছে।
সারাংশ
জেসুপ (JSoup) HTML উপাদানের অ্যাট্রিবিউট এবং টেক্সট কন্টেন্ট সহজে এক্সেস করার জন্য শক্তিশালী মেথড প্রদান করে। attr() মেথড ব্যবহার করে আপনি HTML উপাদানের অ্যাট্রিবিউটের মান পেতে পারেন এবং text() মেথড ব্যবহার করে আপনি উপাদানগুলির টেক্সট কন্টেন্ট এক্সট্র্যাক্ট করতে পারেন। এগুলি ওয়েব স্ক্র্যাপিং এবং HTML ম্যানিপুলেশনের জন্য অত্যন্ত কার্যকরী।
Read more