কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে HTML পার্স করার পদ্ধতি (Jsoup লাইব্রেরি ব্যবহার করে)


ভূমিকা

এই উদাহরণটি দেখাবে কিভাবে Jsoup লাইব্রেরি ব্যবহার করে একটি ওয়েবসাইট থেকে HTML ডাউনলোড করে টাইটেল এবং লিংকগুলো পার্স (প্রক্রিয়া) করতে হয়।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project নির্বাচন করুন।

ধাপ ২: লেআউট ফাইল (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" 
    xmlns:tools="https://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="12sp" 
    tools:context=".MainActivity"> 
    <Button 
        android:id="@+id/btnParseHTML" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Get website" 
        android:layout_marginTop="40dp" 
        android:layout_centerHorizontal="true"/> 
    <TextView 
        android:id="@+id/textView" 
        android:text="Result" 
        android:textSize="12sp" 
        android:textStyle="bold" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/btnParseHTML" 
        android:layout_centerHorizontal="true"/> 
</RelativeLayout>

ধাপ ৩: গ্রেডেল ডিপেন্ডেন্সি যোগ করুন (build.gradle - Module: app)

implementation 'org.jsoup:jsoup:1.11.2'

ধাপ ৪: মেইন এক্টিভিটি কোড (src/MainActivity.java)

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 
import java.io.IOException; 

public class MainActivity extends AppCompatActivity { 
    Button button; 
    TextView textView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 

        textView = findViewById(R.id.textView); 
        button = findViewById(R.id.btnParseHTML); 

        button.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                getHtmlFromWeb(); 
            } 
        }); 
    } 

    private void getHtmlFromWeb() { 
        new Thread(new Runnable() { 
            @Override 
            public void run() { 
                final StringBuilder stringBuilder = new StringBuilder(); 
                try { 
                    Document doc = Jsoup.connect("https://www.tutorialspoint.com/").get(); 
                    String title = doc.title(); 
                    Elements links = doc.select("a[href]"); 
                    
                    stringBuilder.append(title).append("\n"); 
                    
                    for (Element link : links) { 
                        stringBuilder.append("\n") 
                            .append("Link : ").append(link.attr("href")) 
                            .append("\n") 
                            .append("Text : ").append(link.text()); 
                    } 
                } catch (IOException e) { 
                    stringBuilder.append("Error : ").append(e.getMessage()).append("\n"); 
                } 

                runOnUiThread(new Runnable() { 
                    @Override 
                    public void run() { 
                        textView.setText(stringBuilder.toString()); 
                    } 
                }); 
            } 
        }).start(); 
    } 
}

ধাপ ৫: মেনিফেস্ট ফাইল (androidManifest.xml)

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application 
        android:allowBackup="true" 
        android:icon="@mipmap/ic_launcher" 
        android:label="@string/app_name" 
        android:roundIcon="@mipmap/ic_launcher_round" 
        android:supportsRtl="true" 
        android:theme="@style/AppTheme"> 
        <activity android:name=".MainActivity"> 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 
</manifest>

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

অ্যাপটি চালান। "Get website" বাটনে ক্লিক করলে টিউটোরিয়ালস পয়েন্ট ওয়েবসাইটের টাইটেল এবং সব লিংক TextView-এ দেখাবে।


  1. অ্যান্ড্রয়েডে XMLPullParser ব্যবহার করে XML পার্স করার পদ্ধতি

  2. অ্যান্ড্রয়েডে JSONObject ব্যবহার করে JSON পার্স করা

  3. অ্যান্ড্রয়েডে JSON অবজেক্ট পার্স করার পদ্ধতি

  4. অ্যান্ড্রয়েডে JSON পার্স করার সহজ পদ্ধতি