JSoup ব্যবহার করে HTML ডকুমেন্ট তৈরি, ম্যানিপুলেট এবং সেভ করা খুবই সহজ। JSoup এর মাধ্যমে আপনি HTML কন্টেন্ট সম্পাদনা করতে পারেন এবং পরবর্তীতে সেটি একটি ফাইলে সেভ করতে পারেন। এটি ডাইনামিক HTML তৈরি এবং সংরক্ষণ করার জন্য উপকারী।
HTML ফাইল সেভ করার জন্য প্রক্রিয়া
1. HTML ডকুমেন্ট তৈরি এবং সেভ করা
প্রথমে একটি HTML ডকুমেন্ট তৈরি করুন বা পূর্বে তৈরি করা ডকুমেন্টটি লোড করুন, তারপর সেটি একটি ফাইলে সেভ করুন। এর জন্য Document অবজেক্ট এর html() মেথড ব্যবহার করা হয়, যা ডকুমেন্টের HTML কন্টেন্টকে String হিসেবে প্রদান করে। তারপর FileWriter বা BufferedWriter ব্যবহার করে ফাইল সেভ করা হয়।
উদাহরণ:
ধরা যাক, আপনার কাছে একটি HTML ডকুমেন্ট রয়েছে এবং আপনি সেটি একটি ফাইলে সেভ করতে চান।
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class JsoupExample {
public static void main(String[] args) throws IOException {
// HTML ডকুমেন্ট তৈরি
Document doc = Jsoup.parse("<html><body><h1>Welcome to JSoup</h1><p>This is a sample HTML document.</p></body></html>");
// HTML কন্টেন্ট একটি ফাইলে সেভ করা
File file = new File("output.html");
try (FileWriter writer = new FileWriter(file)) {
writer.write(doc.html()); // HTML কন্টেন্ট সেভ করা
}
System.out.println("HTML ফাইল সেভ করা হয়েছে: " + file.getAbsolutePath());
}
}
এই কোডটি HTML ডকুমেন্ট তৈরি করবে এবং তা output.html নামে ফাইলে সেভ করবে।
আউটপুট:
ফাইলটি output.html নামে সেভ হবে এবং এর কন্টেন্ট হবে:
<html>
<body>
<h1>Welcome to JSoup</h1>
<p>This is a sample HTML document.</p>
</body>
</html>
2. HTML ফাইল Write করার সময় Formatting করা
যদি আপনি HTML ফাইলটি সেভ করার সময় সুন্দরভাবে ফরম্যাট করতে চান, তবে Document এর outputSettings() মেথড ব্যবহার করতে পারেন যা HTML ফাইলের indentation এবং formatting কন্ট্রোল করতে সাহায্য করে।
উদাহরণ:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Entities;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class JsoupExample {
public static void main(String[] args) throws IOException {
// HTML ডকুমেন্ট তৈরি
Document doc = Jsoup.parse("<html><body><h1>Welcome to JSoup</h1><p>This is a sample HTML document.</p></body></html>");
// HTML ফরম্যাটিং সেট করা
doc.outputSettings().indentAmount(4); // Indentation 4 spaces
doc.outputSettings().escapeMode(Entities.EscapeMode.xhtml); // XHTML escape mode
// HTML কন্টেন্ট একটি ফাইলে সেভ করা
File file = new File("formatted_output.html");
try (FileWriter writer = new FileWriter(file)) {
writer.write(doc.html());
}
System.out.println("HTML ফাইল সেভ করা হয়েছে: " + file.getAbsolutePath());
}
}
এই কোডে indentAmount(4) ব্যবহার করে indentation 4 spaces রাখা হয়েছে, এবং escapeMode(Entities.EscapeMode.xhtml) ব্যবহার করে XHTML ফরম্যাটে HTML কন্টেন্ট সেভ করা হয়েছে।
আউটপুট:
ফাইলটি formatted_output.html নামে সেভ হবে এবং এর কন্টেন্ট হবে:
<html>
<body>
<h1>Welcome to JSoup</h1>
<p>This is a sample HTML document.</p>
</body>
</html>
3. HTML ফাইল Append করা
যদি আপনি একটি বিদ্যমান HTML ফাইলে নতুন কন্টেন্ট যোগ করতে চান, তবে আপনি append() মেথড ব্যবহার করতে পারেন। এতে নতুন HTML কন্টেন্ট বিদ্যমান ফাইলের শেষে যোগ হয়ে যাবে।
উদাহরণ:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class JsoupExample {
public static void main(String[] args) throws IOException {
// বিদ্যমান HTML ফাইল লোড করা
File inputFile = new File("output.html");
Document doc = Jsoup.parse(inputFile, "UTF-8");
// নতুন HTML কন্টেন্ট যোগ করা
Element body = doc.body();
body.append("<p>This is an appended paragraph.</p>");
// আপডেটেড HTML ফাইল সেভ করা
try (FileWriter writer = new FileWriter(inputFile)) {
writer.write(doc.html());
}
System.out.println("HTML ফাইল আপডেট করা হয়েছে: " + inputFile.getAbsolutePath());
}
}
এই কোডে append() মেথড ব্যবহার করে নতুন <p> ট্যাগ বিদ্যমান HTML ফাইলে যোগ করা হয়েছে এবং তারপর তা সেভ করা হয়েছে।
সারাংশ
JSoup ব্যবহার করে HTML ডকুমেন্ট তৈরি এবং সেভ করা খুবই সহজ। Document অবজেক্টের html() মেথড ব্যবহার করে HTML কন্টেন্টকে ফাইলে সেভ করা যায়। আপনি HTML ফাইলের ফরম্যাটিং কাস্টমাইজ করতে পারেন এবং চাইলে বিদ্যমান HTML ফাইলে নতুন কন্টেন্টও অ্যাড করতে পারেন। JSoup এর এই ফিচার HTML ডকুমেন্ট ম্যানিপুলেশন এবং ফাইল ম্যানেজমেন্টের জন্য অত্যন্ত কার্যকরী।
JSoup লাইব্রেরি HTML কনটেন্ট পার্স, ম্যানিপুলেশন এবং ওয়েব স্ক্র্যাপিংয়ের জন্য ব্যবহৃত হলেও, এটি HTML ডকুমেন্টকে সেভ (save) করার জন্যও কার্যকরী। JSoup এর মাধ্যমে আপনি যেকোনো HTML ডকুমেন্ট তৈরি বা পরিবর্তন করার পর সেটি ফাইল হিসেবে সেভ করতে পারেন।
এই প্রক্রিয়াটি সাধারণত HTML কনটেন্ট তৈরি বা পরিবর্তন করার পর সেই কনটেন্টকে একটি .html ফাইলে লেখা হয়। এতে ফাইল সেভ করার জন্য Document অবজেক্টের outputSettings() এবং write() মেথড ব্যবহার করা হয়।
উদাহরণ: JSoup এর মাধ্যমে HTML ফাইল সেভ করা
এখানে একটি উদাহরণ দেয়া হলো, যেখানে HTML ডকুমেন্ট তৈরি করা হয়েছে এবং JSoup ব্যবহার করে সেই ডকুমেন্টকে একটি .html ফাইলে সেভ করা হয়েছে।
1. HTML কনটেন্ট তৈরি করা
প্রথমে একটি HTML কনটেন্ট তৈরি করি:
<html>
<body>
<div id="content">
<h1>Welcome to JSoup</h1>
<p>This is a sample HTML page generated using JSoup.</p>
</div>
</body>
</html>
2. Java কোড দিয়ে HTML ফাইল সেভ করা
এখন JSoup ব্যবহার করে HTML ডকুমেন্ট তৈরি এবং সেভ করার জন্য নিচের কোড ব্যবহার করা যেতে পারে:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.File;
import java.io.IOException;
public class SaveHtmlExample {
public static void main(String[] args) throws IOException {
// নতুন HTML ডকুমেন্ট তৈরি
String html = "<html><body>"
+ "<div id='content'><h1>Welcome to JSoup</h1><p>This is a sample HTML page generated using JSoup.</p></div>"
+ "</body></html>";
// HTML ডকুমেন্ট পার্স করা
Document doc = Jsoup.parse(html);
// HTML ফাইল সেভ করা
File outputFile = new File("output.html");
doc.outputSettings().prettyPrint(false); // Optional: Formatting disable
doc.writeTo(outputFile); // Write the document to the file
System.out.println("HTML file saved successfully.");
}
}
3. কোডের ব্যাখ্যা
- প্রথমে
Jsoup.parse()মেথড ব্যবহার করে HTML কনটেন্টকেDocumentঅবজেক্টে পার্স করা হয়েছে। File outputFile = new File("output.html");এই লাইনটি একটি নতুনoutput.htmlফাইল তৈরি করে।doc.writeTo(outputFile);মেথড ব্যবহার করে তৈরি করা HTML কনটেন্টটিকেoutput.htmlফাইলে সেভ করা হয়েছে।outputSettings().prettyPrint(false)মেথডের মাধ্যমে ফাইলটি সুন্দরভাবে (pretty print) ফরম্যাট না করে সেভ করা হয়েছে (এটি ঐচ্ছিক, তবে ফাইলের আকার ছোট রাখার জন্য ব্যবহার করা যেতে পারে)।
4. আউটপুট
এই কোডটি চালানোর পর output.html নামক একটি ফাইল তৈরি হবে, যার কনটেন্ট হবে:
<html>
<body>
<div id="content">
<h1>Welcome to JSoup</h1>
<p>This is a sample HTML page generated using JSoup.</p>
</div>
</body>
</html>
HTML ফাইল সেভ করার সুবিধা
1. সহজ ডকুমেন্ট ম্যানিপুলেশন:
JSoup-এর মাধ্যমে HTML কনটেন্ট পার্স, ম্যানিপুলেশন এবং সেভ করা খুবই সহজ, যা ডেভেলপারদের দ্রুত HTML ফাইল তৈরি করতে সাহায্য করে।
2. ফাইল সিস্টেমে HTML সংরক্ষণ:
HTML ফাইল সেভ করার মাধ্যমে আপনি যে কোনো সময় ডকুমেন্টটি অ্যাক্সেস করতে পারবেন এবং পরবর্তীতে প্রোজেক্টের বিভিন্ন অংশে ব্যবহার করতে পারবেন।
3. পূর্বনির্ধারিত ফরম্যাটিং:
JSoup স্বয়ংক্রিয়ভাবে HTML কনটেন্টকে ফরম্যাট করতে পারে, তবে prettyPrint(false) ব্যবহার করে আপনি চাইলে ফাইলটি ফরম্যাট না করেও সেভ করতে পারবেন।
সারাংশ
JSoup ব্যবহার করে HTML ফাইল সেভ করা খুবই সহজ। HTML কনটেন্ট পার্স বা ম্যানিপুলেট করার পর সেটি .html ফাইলে সেভ করা যায়। Document অবজেক্টের writeTo() মেথড ব্যবহার করে সহজেই HTML ডকুমেন্ট সেভ করা সম্ভব। JSoup-এর মাধ্যমে আপনি HTML ডকুমেন্টকে দ্রুত এবং কার্যকরীভাবে তৈরি, পরিবর্তন এবং ফাইল হিসেবে সেভ করতে পারবেন।
JSoup শুধু HTML ডকুমেন্ট পার্স এবং ক্লিনিং এর জন্য ব্যবহৃত হয় না, এটি HTML ডকুমেন্ট তৈরি এবং ফাইল সিস্টেমে লেখার জন্যও ব্যবহার করা যেতে পারে। Java এর FileOutputStream এবং PrintWriter ক্লাস ব্যবহার করে HTML ডকুমেন্ট ফাইল হিসেবে সংরক্ষণ করা যেতে পারে। এই পদ্ধতিতে, আপনি তৈরি করা HTML ডকুমেন্টকে একটি .html ফাইলে রচনা করতে পারেন।
FileOutputStream এবং PrintWriter এর ভূমিকা
FileOutputStream: এই ক্লাসটি ফাইল আউটপুট স্ট্রিম হিসেবে কাজ করে, যা বাইনারি ডেটা ফাইলে লেখার জন্য ব্যবহৃত হয়। এটি ফাইল তৈরি এবং ফাইল লেখার জন্য ব্যবহৃত হয়।PrintWriter: এই ক্লাসটি ফাইল বা কনসোলে লেখার জন্য ব্যবহৃত হয়। এটি টেক্সট ডেটা লেখার জন্য সুবিধাজনক, কারণ এটি স্ট্রিংগুলিকে ফরম্যাট করতে এবং সহজে লিখতে সাহায্য করে।
এখন চলুন, একটি উদাহরণ দেখি যেখানে JSoup ব্যবহার করে HTML ডকুমেন্ট তৈরি করা হয় এবং সেই ডকুমেন্টটিকে FileOutputStream এবং PrintWriter ব্যবহার করে ফাইলে সংরক্ষণ করা হয়।
HTML Write করার উদাহরণ কোড
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Entities;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.io.IOException;
public class JsoupWriteExample {
public static void main(String[] args) {
try {
// HTML ডকুমেন্ট তৈরি করা
Document doc = new Document("http://example.com");
doc.appendElement("html").appendElement("head").appendElement("title").text("Sample HTML Page");
Element body = doc.appendElement("body");
body.appendElement("h1").text("Welcome to JSoup");
body.appendElement("p").text("This is a paragraph with <strong>HTML</strong> content.");
// ফাইল আউটপুটের জন্য FileOutputStream এবং PrintWriter ব্যবহার
FileOutputStream fileOut = new FileOutputStream("output.html");
PrintWriter writer = new PrintWriter(fileOut, true); // true to enable auto-flush
// HTML ডকুমেন্ট ফাইলে লেখার জন্য
writer.write(doc.html()); // HTML কনটেন্ট ফাইলের মধ্যে লিখে দেওয়া
// লেখার পর resources বন্ধ করা
writer.close();
fileOut.close();
System.out.println("HTML document written to output.html");
} catch (IOException e) {
e.printStackTrace();
}
}
}
কোডের ব্যাখ্যা:
- HTML ডকুমেন্ট তৈরি করা:
Documentক্লাসের সাহায্যে একটি নতুন HTML ডকুমেন্ট তৈরি করা হয়।appendElement()মেথড ব্যবহার করে HTML ট্যাগ যেমন<html>,<head>,<body>,<h1>, এবং<p>তৈরি করা হয় এবং তাদের মধ্যে কনটেন্ট যোগ করা হয়।
- FileOutputStream এবং PrintWriter ব্যবহার:
FileOutputStream("output.html")ফাইল তৈরি বা খুলতে ব্যবহৃত হয়, যেখানে"output.html"ফাইলের নাম এবং লোকেশন নির্ধারণ করা হয়েছে।PrintWriterক্লাসের মাধ্যমে ফাইলের মধ্যে লেখার জন্যwrite()মেথড ব্যবহার করা হয়েছে। এটি ডকুমেন্টের পুরো HTML কনটেন্ট ফাইলের মধ্যে লিখে দেয়।
- ফাইল বন্ধ করা:
- লেখার কাজ শেষে
writer.close()এবংfileOut.close()ব্যবহার করে আউটপুট স্ট্রিম এবং রিসোর্সগুলো বন্ধ করা হয়।
- লেখার কাজ শেষে
ফাইল আউটপুটের পরে ফাইলের কনটেন্ট
এখন, যখন আপনি এই প্রোগ্রামটি চালাবেন, এটি output.html নামের একটি HTML ফাইল তৈরি করবে এবং এর মধ্যে একটি বেসিক HTML কনটেন্ট লিখে দেবে। ফাইলের কনটেন্ট এমন দেখাবে:
<html>
<head>
<title>Sample HTML Page</title>
</head>
<body>
<h1>Welcome to JSoup</h1>
<p>This is a paragraph with <strong>HTML</strong> content.</p>
</body>
</html>
সারাংশ
JSoup ব্যবহার করে HTML ডকুমেন্ট তৈরি এবং ফাইল সিস্টেমে লেখার জন্য FileOutputStream এবং PrintWriter দুটি গুরুত্বপূর্ণ Java ক্লাস ব্যবহার করা যেতে পারে। FileOutputStream ফাইল লেখার জন্য ব্যবহৃত হয় এবং PrintWriter এর মাধ্যমে টেক্সট ফাইল তৈরি এবং লেখা সম্ভব। এই পদ্ধতিতে আপনি একটি HTML ডকুমেন্ট তৈরি করে সেটি একটি .html ফাইলে রচনা করতে পারেন, যা পরবর্তীতে ওয়েব ব্রাউজারে দেখতে পারবেন।
HTML ডকুমেন্টকে Pretty Print (অথবা সুন্দরভাবে প্রিন্ট করা) মানে হচ্ছে HTML কন্টেন্টকে এমনভাবে ফরম্যাট করা যাতে তা পড়তে সহজ হয় এবং এর বিভিন্ন উপাদান সঠিকভাবে ইন্ডেন্ট (indent) করা থাকে। এই প্রক্রিয়া সাধারণত ডিবাগিং বা HTML কোডের রিডেবিলিটি উন্নত করতে ব্যবহৃত হয়। JSoup লাইব্রেরি ব্যবহার করে HTML ডকুমেন্টকে Pretty Print করা খুবই সহজ এবং কার্যকর।
JSoup দিয়ে HTML ডকুমেন্ট Pretty Print করা
JSoup লাইব্রেরি HTML ডকুমেন্টের কাঠামোকে সুন্দরভাবে ফরম্যাট করতে সহায়তা করে, যেটি ডেভেলপারদের কোডের পাঠযোগ্যতা বাড়াতে সাহায্য করে। Document অবজেক্টের html() মেথড এবং prettyPrint() মেথড ব্যবহার করে HTML ডকুমেন্টকে সুন্দরভাবে প্রিন্ট করা সম্ভব।
উদাহরণ: HTML ডকুমেন্ট Pretty Print করা
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class PrettyPrintExample {
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);
// Pretty Print করা
String prettyHtml = doc.outerHtml();
// Pretty Print HTML প্রদর্শন
System.out.println(prettyHtml);
}
}
কোড ব্যাখ্যা:
- Jsoup.parse() মেথড ব্যবহার করে HTML ডকুমেন্ট পার্স করা হয়।
- outerHtml() মেথড ব্যবহার করে ডকুমেন্টের HTML কোড প্রিন্ট করা হয় সুন্দরভাবে। এই মেথড HTML ডকুমেন্টের উপাদানগুলোকে সঠিকভাবে ইনডেন্ট করে দেখায়, যাতে তা পড়তে সহজ হয়।
এখানে, JSoup পার্স করার পরে, HTML ডকুমেন্টটি নিজে থেকেই সুন্দরভাবে ফরম্যাট করা হয়ে যায়।
HTML Pretty Print করার বিকল্প পদ্ধতি
JSoup-এর Document অবজেক্টে কিছু অতিরিক্ত মেথডও রয়েছে যা HTML ডকুমেন্টকে আরও সুন্দরভাবে প্রিন্ট করতে সহায়তা করে। যেমন:
- prettyPrint(): এই মেথডটি HTML ডকুমেন্টকে আরও সুন্দরভাবে ফরম্যাট করে দেয়।
- html(): সাধারণত HTML কন্টেন্ট বের করার জন্য ব্যবহৃত হয়, কিন্তু এটা pretty print ফরম্যাটে আউটপুট দেয় না। আপনি যদি সুন্দরভাবে প্রিন্ট চান, তবে
outerHtml()অথবাprettyPrint()ব্যবহার করা উচিত।
উদাহরণ: prettyPrint() মেথড ব্যবহার
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class PrettyPrintWithSettings {
public static void main(String[] args) throws Exception {
String html = "<html><head><title>Example</title></head><body><h1>Welcome to JSoup</h1><p>This is a paragraph.</p></body></html>";
// HTML পার্স করা
Document doc = Jsoup.parse(html);
// Pretty Print করা
doc.outputSettings().prettyPrint(true);
String prettyHtml = doc.html();
// Pretty Print HTML প্রদর্শন
System.out.println(prettyHtml);
}
}
কোড ব্যাখ্যা:
- outputSettings().prettyPrint(true): এই মেথডটি নিশ্চিত করে যে HTML ডকুমেন্টের আউটপুট হবে সুন্দরভাবে ফরম্যাট করা।
- doc.html(): এই মেথডটি HTML কন্টেন্ট রিটার্ন করে, যেটি pretty print আউটপুট হবে।
HTML Pretty Print এর সুবিধা
1. পঠনযোগ্যতা বৃদ্ধি
HTML ডকুমেন্টের বিভিন্ন ট্যাগ, অ্যাট্রিবিউট এবং কনটেন্ট সহজে পড়া যায়, কারণ এগুলো সঠিকভাবে ইনডেন্ট করা থাকে।
2. ডিবাগিং সুবিধা
যখন আপনি ওয়েব পেজের কনটেন্ট পরীক্ষা করছেন বা ডিবাগ করছেন, তখন সুন্দরভাবে ফরম্যাট করা HTML কোড আপনাকে দ্রুত সমস্যাটি চিহ্নিত করতে সাহায্য করে।
3. কোড স্টাইলিং
HTML কোড ক্লিন ও সুন্দরভাবে সাজানো থাকলে তা দলের অন্যান্য সদস্যদের জন্য সহজ হয় এবং কোড রিভিউ প্রক্রিয়া আরও সুবিধাজনক হয়।
সারাংশ
JSoup লাইব্রেরি HTML ডকুমেন্টকে সুন্দরভাবে ফরম্যাট করতে খুবই কার্যকরী। prettyPrint() এবং outerHtml() মেথডের মাধ্যমে HTML ডকুমেন্টকে সুন্দরভাবে প্রিন্ট করা সম্ভব। এটি ডিবাগিং, কোড রিভিউ এবং ওয়েব ডেভেলপমেন্টের জন্য একটি গুরুত্বপূর্ণ টুল, কারণ এটি HTML কোডের পঠনযোগ্যতা এবং পরিচালনাকে সহজ করে তোলে।
যখন আপনি HTML ডকুমেন্ট পার্স (parse) করেন এবং তারপর সেই ডকুমেন্টে কোনো পরিবর্তন আনেন, তখন আপনি পরিবর্তিত HTML ফাইলটি সেভ করতে চাইবেন। জেসুপ (JSoup) লাইব্রেরি ব্যবহার করে এটি খুব সহজে করা যায়। Document অবজেক্টে যেকোনো পরিবর্তন করার পরে, File অথবা Writer ব্যবহার করে সেই পরিবর্তিত HTML ফাইলটি সেভ করা সম্ভব।
এখানে আমরা দেখব কীভাবে একটি পার্স করা HTML ফাইল সেভ করা যায়।
HTML ফাইল সেভ করার পদ্ধতি
HTML ফাইল পার্স করা এবং সেভ করা
যতটুকু সম্ভব সহজভাবে, আমরা একটি HTML ফাইল পার্স করব এবং সেটি একটি নতুন ফাইলে সেভ করব। নিচে একটি উদাহরণ দেওয়া হচ্ছে যেখানে একটি HTML ফাইল পার্স করা হচ্ছে এবং তারপর সেই ফাইলটি সেভ করা হচ্ছে।
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.File;
import java.io.IOException;
public class JsoupSaveFileExample {
public static void main(String[] args) throws IOException {
// HTML ফাইলের পাথ
File inputFile = new File("input.html");
// HTML পার্স করা
Document doc = Jsoup.parse(inputFile, "UTF-8");
// কিছু পরিবর্তন করা (যেমন, টাইটেল পরিবর্তন)
doc.title("New Document Title");
// পরিবর্তিত HTML ফাইল সেভ করা
File outputFile = new File("output.html");
doc.writeTo(outputFile, "UTF-8");
System.out.println("HTML ফাইল সফলভাবে সেভ করা হয়েছে।");
}
}
ব্যাখ্যা:
- প্রথমে,
input.htmlনামক HTML ফাইলটি পার্স করা হচ্ছেJsoup.parse()মেথড দিয়ে। - এরপর,
doc.title("New Document Title")ব্যবহার করে HTML ডকুমেন্টের টাইটেল পরিবর্তন করা হচ্ছে। - তারপর,
doc.writeTo()মেথড ব্যবহার করে সেই পরিবর্তিত HTML ডকুমেন্টটিoutput.htmlনামক একটি নতুন ফাইলে সেভ করা হচ্ছে।
writeTo() মেথড:
এই মেথডটি Document অবজেক্টের সমস্ত HTML কনটেন্টকে নির্দিষ্ট ফাইলে লিখে দেয়। আপনি এটি একটি File অবজেক্ট অথবা Writer ব্যবহার করে সেভ করতে পারেন।
HTML ফাইলের কিছু পরিবর্তন সেভ করা
এখন, যদি আপনি HTML ডকুমেন্টের ভিতরের কোনো উপাদান বা কনটেন্ট পরিবর্তন করতে চান এবং তারপর সেই পরিবর্তনগুলো সেভ করতে চান, তাহলে এটি খুব সহজভাবে করা যায়। নিচে একটি উদাহরণ দেওয়া হল যেখানে একটি প্যারাগ্রাফের কন্টেন্ট পরিবর্তন করা হচ্ছে এবং সেটি সেভ করা হচ্ছে।
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import java.io.File;
import java.io.IOException;
public class JsoupSaveModifiedFileExample {
public static void main(String[] args) throws IOException {
// HTML ফাইলের পাথ
File inputFile = new File("input.html");
// HTML পার্স করা
Document doc = Jsoup.parse(inputFile, "UTF-8");
// প্যারাগ্রাফের টেক্সট পরিবর্তন করা
Element paragraph = doc.select("p").first();
paragraph.text("This is the updated content.");
// পরিবর্তিত HTML ফাইল সেভ করা
File outputFile = new File("modified_output.html");
doc.writeTo(outputFile, "UTF-8");
System.out.println("HTML ফাইলের পরিবর্তন সেভ করা হয়েছে।");
}
}
এখানে:
doc.select("p").first()দিয়ে প্রথম প্যারাগ্রাফ ট্যাগটি নির্বাচন করা হচ্ছে।paragraph.text("This is the updated content.")দিয়ে প্যারাগ্রাফের টেক্সট পরিবর্তন করা হচ্ছে।- তারপর,
writeTo()মেথড দিয়ে পরিবর্তিত HTML ফাইলটি সেভ করা হচ্ছে।
সারাংশ
জেসুপ (JSoup) ব্যবহার করে HTML ফাইল পার্স করার পর সেই ফাইলটিতে কোনো পরিবর্তন আনা এবং তা সেভ করা খুবই সহজ। আপনি Document অবজেক্টের মাধ্যমে HTML ডকুমেন্টে যেকোনো পরিবর্তন করতে পারেন এবং পরে writeTo() মেথড ব্যবহার করে সেই পরিবর্তিত ডকুমেন্টটি একটি নতুন ফাইলে সেভ করতে পারেন। এটি ওয়েব স্ক্র্যাপিং বা ডেটা প্রক্রিয়াকরণে খুবই কার্যকরী এবং উপকারী।
Read more