Spring Boot এর মাধ্যমে JSoup Integration

JSoup এবং Spring Framework Integration - জেসুপ (JSoup) - Java Technologies

260

Spring Boot একটি জনপ্রিয় Java ফ্রেমওয়ার্ক যা দ্রুত ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। JSoup এর মাধ্যমে HTML parsing এবং web scraping সহজে করা যায়, এবং Spring Boot এর সাথে JSoup ইন্টিগ্রেট করলে ওয়েব স্ক্র্যাপিং বা HTML ডকুমেন্ট ম্যানিপুলেশন কার্যক্রম আরও সহজ হয়ে ওঠে। এখানে আমরা Spring Boot অ্যাপ্লিকেশন ব্যবহার করে কীভাবে JSoup ইন্টিগ্রেট করা যায় এবং HTML ডকুমেন্ট প্রসেস করা যায় তা দেখব।


Spring Boot প্রজেক্টে JSoup ইন্টিগ্রেশন

প্রথমে, Spring Boot প্রজেক্টে JSoup ইন্টিগ্রেট করার জন্য কয়েকটি সহজ ধাপ অনুসরণ করতে হবে।

1. Maven বা Gradle ডিপেনডেন্সি যোগ করা

Spring Boot প্রজেক্টে JSoup ইন্টিগ্রেট করতে হলে JSoup এর Maven বা Gradle ডিপেনডেন্সি আপনার pom.xml বা build.gradle ফাইলে যোগ করতে হবে।

Maven:
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.15.4</version> <!-- সর্বশেষ সংস্করণ দিয়ে প্রতিস্থাপন করুন -->
</dependency>
Gradle:
dependencies {
    implementation 'org.jsoup:jsoup:1.15.4'
}

2. Spring Boot অ্যাপ্লিকেশন তৈরি করা

Spring Boot অ্যাপ্লিকেশন তৈরি করতে প্রথমে একটি Spring Boot প্রজেক্ট তৈরি করুন, তারপর JSoup এর সাথে কাজ করার জন্য একটি Service বা Component তৈরি করুন যা HTML ডকুমেন্ট পার্স এবং স্ক্র্যাপিং করতে পারে।


Spring Boot অ্যাপ্লিকেশন তৈরির উদাহরণ

1. Spring Boot অ্যাপ্লিকেশন ক্লাস

package com.example.jsoupspringboot;

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class JsoupSpringBootApplication implements CommandLineRunner {

    private final HtmlParsingService htmlParsingService;

    // Constructor injection
    public JsoupSpringBootApplication(HtmlParsingService htmlParsingService) {
        this.htmlParsingService = htmlParsingService;
    }

    public static void main(String[] args) {
        SpringApplication.run(JsoupSpringBootApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        // JSoup service call to parse an HTML string
        String url = "https://www.example.com";
        String title = htmlParsingService.getHtmlTitle(url);
        System.out.println("Page Title: " + title);
    }
}

2. HtmlParsingService ক্লাস

এখন, JSoup এর মাধ্যমে HTML পার্স করার জন্য একটি Service ক্লাস তৈরি করা হবে। এই ক্লাসটি একটি নির্দিষ্ট URL থেকে HTML ডকুমেন্ট নিয়ে সেটি পার্স করে তথ্য এক্সট্র্যাক্ট করবে।

package com.example.jsoupspringboot;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.springframework.stereotype.Service;

import java.io.IOException;

@Service
public class HtmlParsingService {

    public String getHtmlTitle(String url) throws IOException {
        // URL থেকে HTML ডকুমেন্ট পার্স করা
        Document document = Jsoup.connect(url).get();
        return document.title();  // HTML পেজের title রিটার্ন করবে
    }
}

এখানে getHtmlTitle() মেথডটি JSoup এর Jsoup.connect(url).get() ব্যবহার করে HTML ডকুমেন্ট নিয়ে এসে পেজের title() এক্সট্র্যাক্ট করছে।

3. Spring Boot Application Properties (Optional)

আপনি চাইলে Spring Boot এর application.properties ফাইলে কিছু কনফিগারেশন করতে পারেন যেমন timeout, retry mechanism ইত্যাদি।

# Timeout configuration for Jsoup
jsoup.connect.timeout=5000

Spring Boot অ্যাপ্লিকেশন চালানো

এখন, আপনি যদি Spring Boot অ্যাপ্লিকেশনটি রান করেন, তাহলে এটি HTML ডকুমেন্টের title এক্সট্র্যাক্ট করবে এবং কনসোলে প্রিন্ট করবে। উদাহরণস্বরূপ, আপনি যদি https://www.example.com URL এর title নিতে চান, তাহলে আপনার কনসোলে নিচের মতো আউটপুট দেখতে পাবেন:

Page Title: Example Domain

Spring Boot Web Controller এ JSoup ব্যবহার

যদি আপনি Spring Boot Web অ্যাপ্লিকেশন তৈরি করতে চান, তাহলে একটি Web Controller তৈরি করতে পারেন যেখানে JSoup ব্যবহার করে ডাইনামিক HTML পেজ তৈরি করা যায়।

1. HTML Parsing Controller

package com.example.jsoupspringboot;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HtmlParsingController {

    private final HtmlParsingService htmlParsingService;

    // Constructor injection
    public HtmlParsingController(HtmlParsingService htmlParsingService) {
        this.htmlParsingService = htmlParsingService;
    }

    @GetMapping("/get-title")
    public String getTitle(@RequestParam String url) {
        try {
            return htmlParsingService.getHtmlTitle(url);
        } catch (Exception e) {
            return "Error: " + e.getMessage();
        }
    }
}

এখানে, /get-title এ একটি GET রিকোয়েস্ট করলে, JSoup ব্যবহার করে URL এর title রিটার্ন করবে।

2. এন্ডপয়েন্ট পরীক্ষা করা

আপনি এখন Postman বা ব্রাউজার দিয়ে এই এন্ডপয়েন্টে GET রিকোয়েস্ট পাঠাতে পারেন:

GET http://localhost:8080/get-title?url=https://www.example.com

এটি JSoup ব্যবহার করে https://www.example.com এর title এক্সট্র্যাক্ট করবে এবং রিটার্ন করবে।


সারাংশ

Spring Boot অ্যাপ্লিকেশনে JSoup ইন্টিগ্রেশন খুবই সহজ। JSoup ব্যবহার করে HTML parsing, web scraping এবং HTML ডকুমেন্ট ম্যানিপুলেশন করা যেতে পারে। Spring Boot অ্যাপ্লিকেশনে JSoup ব্যবহার করার জন্য আপনাকে প্রথমে JSoup এর Maven বা Gradle ডিপেনডেন্সি যোগ করতে হবে। তারপর একটি Service ক্লাস তৈরি করে JSoup এর মাধ্যমে HTML ডকুমেন্ট পার্স এবং এক্সট্র্যাক্ট করা সম্ভব। Spring Boot Web Controller তৈরি করে ডাইনামিকভাবে HTML ডকুমেন্ট ম্যানিপুলেট করা আরও সহজ হয়ে ওঠে। JSoup এবং Spring Boot এর এই সমন্বয় দ্রুত এবং কার্যকরী ওয়েব স্ক্র্যাপিং এবং HTML ম্যানিপুলেশন অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...