PhantomJS হলো একটি ওপেন সোর্স হেডলেস ব্রাউজার, যা JavaScript-এ লেখা হয়েছে এবং ওয়েব পৃষ্ঠাগুলিকে প্রোগ্রাম্যাটিক্যালি লোড, পরীক্ষা এবং স্ক্রিনশট নেওয়ার জন্য ব্যবহৃত হয়। এটি একটি হেডলেস ব্রাউজার হিসাবে কাজ করে, যার মানে এটি GUI ছাড়া কাজ করে, এবং এটি মূলত সার্ভার সাইডে ব্রাউজার ফাংশনালিটি প্রদান করে।
PhantomJS হলো একটি হেডলেস ব্রাউজার, যা WebKit-এর উপর ভিত্তি করে তৈরি করা হয়েছে এবং JavaScript API সমর্থন করে। হেডলেস ব্রাউজার অর্থ হলো এটি কোনো গ্রাফিকাল ইন্টারফেস ছাড়াই কাজ করে, অর্থাৎ এটি ব্রাউজারের মতো কাজ করে তবে এটি কোনো উইন্ডোতে প্রদর্শিত হয় না। PhantomJS এর মাধ্যমে ওয়েব পেজ স্ক্র্যাপিং, ইউনিট টেস্টিং, ওয়েবসাইট মনিটরিং, এবং স্ক্রিনশট নেওয়া যায়। এটি একটি JavaScript API দিয়ে ব্রাউজার ইন্টারঅ্যাকশন, DOM ম্যানিপুলেশন, এবং পেজ রেন্ডারিং করা যায়।
PhantomJS ডেভেলপারদের জন্য খুবই কার্যকর একটি টুল, কারণ এটি হেডলেস হওয়ার কারণে অটোমেটেড টাস্ক চালাতে এবং CI (Continuous Integration) সিস্টেমে সহজেই ইন্টিগ্রেট করা যায়। PhantomJS খুব দ্রুত এবং কার্যকরভাবে কাজ করে, কারণ এটি কোনো UI রেন্ডারিং করে না।
ধাপ ১: PhantomJS ডাউনলোড করা
PhantomJS ডাউনলোড করার জন্য আপনি এর অফিসিয়াল ওয়েবসাইট থেকে binaries ডাউনলোড করতে পারেন:
https://phantomjs.org/download.html
ধাপ ২: ইনস্টলেশন (MacOS/Linux)
ডাউনলোডের পরে, টার্মিনালে PhantomJS ইনস্টল করতে নিচের কমান্ড ব্যবহার করতে পারেন:
sudo tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/share
sudo ln -sf /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin
ধাপ ৩: ইনস্টলেশন (Windows)
Windows এর জন্য PhantomJS এর zip ফাইল ডাউনলোড করুন এবং zip ফাইলটি এক্সট্র্যাক্ট করুন। এক্সট্র্যাক্ট করা ফোল্ডারের bin ডিরেক্টরিতে আপনি phantomjs.exe ফাইলটি পাবেন, যেটি সরাসরি চালাতে পারবেন।
ধাপ ৪: ইনস্টলেশন যাচাই করা
PhantomJS ইনস্টল হওয়ার পরে নিচের কমান্ডটি ব্যবহার করে যাচাই করুন:
phantomjs --version
ধাপ ১: একটি ওয়েব পেজ লোড এবং স্ক্রিনশট নেওয়া
PhantomJS এর মাধ্যমে একটি ওয়েব পেজ লোড করা এবং তার স্ক্রিনশট নেওয়া যায়। নিচের কোডটি এর উদাহরণ:
var webpage = require('webpage').create();
webpage.open('http://example.com', function() {
webpage.render('example.png'); // স্ক্রিনশট নেওয়া
phantom.exit();
});
উপরের কোডটি একটি example.png নামে স্ক্রিনশট ফাইল তৈরি করবে।
ধাপ ২: পেজ কন্টেন্ট স্ক্র্যাপিং
PhantomJS এর মাধ্যমে একটি ওয়েব পেজের HTML কন্টেন্ট বা নির্দিষ্ট ডেটা স্ক্র্যাপ করা যায়। উদাহরণস্বরূপ, নিচের কোডটি একটি পেজ থেকে টাইটেল বের করে দেখাবে:
var page = require('webpage').create();
page.open('http://example.com', function(status) {
if (status === "success") {
var title = page.evaluate(function() {
return document.title;
});
console.log("Page title is: " + title);
}
phantom.exit();
});
ধাপ ৩: ফর্ম সাবমিশন এবং DOM ম্যানিপুলেশন
PhantomJS দিয়ে আপনি ওয়েব ফর্ম সাবমিট করতে পারেন এবং DOM ম্যানিপুলেট করতে পারেন। নিচের উদাহরণটি দেখায়, কিভাবে একটি ফর্ম সাবমিট করা যায়:
var page = require('webpage').create();
page.open('http://example.com/login', function() {
page.evaluate(function() {
document.querySelector('input[name="username"]').value = 'admin';
document.querySelector('input[name="password"]').value = 'password123';
document.querySelector('form').submit();
});
phantom.exit();
});
ধাপ ৪: ইউনিট টেস্টিং
PhantomJS এর মাধ্যমে ইউনিট টেস্টিং করা যায় এবং এটি বিভিন্ন JavaScript টেস্ট ফ্রেমওয়ার্ক সমর্থন করে। উদাহরণস্বরূপ, Jasmine ফ্রেমওয়ার্ক দিয়ে টেস্ট রান করা:
var page = require('webpage').create();
page.open('http://localhost:3000/test', function(status) {
if (status === "success") {
console.log("Test page loaded successfully.");
} else {
console.log("Failed to load the test page.");
}
phantom.exit();
});
যেহেতু PhantomJS এর ডেভেলপমেন্ট বন্ধ হয়ে গেছে, তাই কিছু বিকল্প হেডলেস ব্রাউজার রয়েছে, যেগুলো বর্তমানে বেশি ব্যবহৃত হয়:
PhantomJS হলো একটি শক্তিশালী এবং কার্যকর হেডলেস ব্রাউজার, যা ওয়েব পেজ স্ক্র্যাপিং, ইউনিট টেস্টিং, এবং অটোমেশন প্রক্রিয়াগুলোকে সহজ করে তোলে। যদিও PhantomJS এর ডেভেলপমেন্ট বন্ধ হয়ে গেছে, তবুও এটি এখনও কিছু ক্ষেত্রে কার্যকর, বিশেষ করে যখন হেডলেস ব্রাউজারের প্রয়োজন হয়। Puppeteer এবং Selenium এর মতো নতুন টুলগুলো বর্তমানে PhantomJS এর কার্যকারিতার বিকল্প হিসেবে ব্যবহৃত হচ্ছে।
PhantomJS হলো একটি ওপেন সোর্স হেডলেস ব্রাউজার, যা JavaScript-এ লেখা হয়েছে এবং ওয়েব পৃষ্ঠাগুলিকে প্রোগ্রাম্যাটিক্যালি লোড, পরীক্ষা এবং স্ক্রিনশট নেওয়ার জন্য ব্যবহৃত হয়। এটি একটি হেডলেস ব্রাউজার হিসাবে কাজ করে, যার মানে এটি GUI ছাড়া কাজ করে, এবং এটি মূলত সার্ভার সাইডে ব্রাউজার ফাংশনালিটি প্রদান করে।
PhantomJS হলো একটি হেডলেস ব্রাউজার, যা WebKit-এর উপর ভিত্তি করে তৈরি করা হয়েছে এবং JavaScript API সমর্থন করে। হেডলেস ব্রাউজার অর্থ হলো এটি কোনো গ্রাফিকাল ইন্টারফেস ছাড়াই কাজ করে, অর্থাৎ এটি ব্রাউজারের মতো কাজ করে তবে এটি কোনো উইন্ডোতে প্রদর্শিত হয় না। PhantomJS এর মাধ্যমে ওয়েব পেজ স্ক্র্যাপিং, ইউনিট টেস্টিং, ওয়েবসাইট মনিটরিং, এবং স্ক্রিনশট নেওয়া যায়। এটি একটি JavaScript API দিয়ে ব্রাউজার ইন্টারঅ্যাকশন, DOM ম্যানিপুলেশন, এবং পেজ রেন্ডারিং করা যায়।
PhantomJS ডেভেলপারদের জন্য খুবই কার্যকর একটি টুল, কারণ এটি হেডলেস হওয়ার কারণে অটোমেটেড টাস্ক চালাতে এবং CI (Continuous Integration) সিস্টেমে সহজেই ইন্টিগ্রেট করা যায়। PhantomJS খুব দ্রুত এবং কার্যকরভাবে কাজ করে, কারণ এটি কোনো UI রেন্ডারিং করে না।
ধাপ ১: PhantomJS ডাউনলোড করা
PhantomJS ডাউনলোড করার জন্য আপনি এর অফিসিয়াল ওয়েবসাইট থেকে binaries ডাউনলোড করতে পারেন:
https://phantomjs.org/download.html
ধাপ ২: ইনস্টলেশন (MacOS/Linux)
ডাউনলোডের পরে, টার্মিনালে PhantomJS ইনস্টল করতে নিচের কমান্ড ব্যবহার করতে পারেন:
sudo tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/share
sudo ln -sf /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin
ধাপ ৩: ইনস্টলেশন (Windows)
Windows এর জন্য PhantomJS এর zip ফাইল ডাউনলোড করুন এবং zip ফাইলটি এক্সট্র্যাক্ট করুন। এক্সট্র্যাক্ট করা ফোল্ডারের bin ডিরেক্টরিতে আপনি phantomjs.exe ফাইলটি পাবেন, যেটি সরাসরি চালাতে পারবেন।
ধাপ ৪: ইনস্টলেশন যাচাই করা
PhantomJS ইনস্টল হওয়ার পরে নিচের কমান্ডটি ব্যবহার করে যাচাই করুন:
phantomjs --version
ধাপ ১: একটি ওয়েব পেজ লোড এবং স্ক্রিনশট নেওয়া
PhantomJS এর মাধ্যমে একটি ওয়েব পেজ লোড করা এবং তার স্ক্রিনশট নেওয়া যায়। নিচের কোডটি এর উদাহরণ:
var webpage = require('webpage').create();
webpage.open('http://example.com', function() {
webpage.render('example.png'); // স্ক্রিনশট নেওয়া
phantom.exit();
});
উপরের কোডটি একটি example.png নামে স্ক্রিনশট ফাইল তৈরি করবে।
ধাপ ২: পেজ কন্টেন্ট স্ক্র্যাপিং
PhantomJS এর মাধ্যমে একটি ওয়েব পেজের HTML কন্টেন্ট বা নির্দিষ্ট ডেটা স্ক্র্যাপ করা যায়। উদাহরণস্বরূপ, নিচের কোডটি একটি পেজ থেকে টাইটেল বের করে দেখাবে:
var page = require('webpage').create();
page.open('http://example.com', function(status) {
if (status === "success") {
var title = page.evaluate(function() {
return document.title;
});
console.log("Page title is: " + title);
}
phantom.exit();
});
ধাপ ৩: ফর্ম সাবমিশন এবং DOM ম্যানিপুলেশন
PhantomJS দিয়ে আপনি ওয়েব ফর্ম সাবমিট করতে পারেন এবং DOM ম্যানিপুলেট করতে পারেন। নিচের উদাহরণটি দেখায়, কিভাবে একটি ফর্ম সাবমিট করা যায়:
var page = require('webpage').create();
page.open('http://example.com/login', function() {
page.evaluate(function() {
document.querySelector('input[name="username"]').value = 'admin';
document.querySelector('input[name="password"]').value = 'password123';
document.querySelector('form').submit();
});
phantom.exit();
});
ধাপ ৪: ইউনিট টেস্টিং
PhantomJS এর মাধ্যমে ইউনিট টেস্টিং করা যায় এবং এটি বিভিন্ন JavaScript টেস্ট ফ্রেমওয়ার্ক সমর্থন করে। উদাহরণস্বরূপ, Jasmine ফ্রেমওয়ার্ক দিয়ে টেস্ট রান করা:
var page = require('webpage').create();
page.open('http://localhost:3000/test', function(status) {
if (status === "success") {
console.log("Test page loaded successfully.");
} else {
console.log("Failed to load the test page.");
}
phantom.exit();
});
যেহেতু PhantomJS এর ডেভেলপমেন্ট বন্ধ হয়ে গেছে, তাই কিছু বিকল্প হেডলেস ব্রাউজার রয়েছে, যেগুলো বর্তমানে বেশি ব্যবহৃত হয়:
PhantomJS হলো একটি শক্তিশালী এবং কার্যকর হেডলেস ব্রাউজার, যা ওয়েব পেজ স্ক্র্যাপিং, ইউনিট টেস্টিং, এবং অটোমেশন প্রক্রিয়াগুলোকে সহজ করে তোলে। যদিও PhantomJS এর ডেভেলপমেন্ট বন্ধ হয়ে গেছে, তবুও এটি এখনও কিছু ক্ষেত্রে কার্যকর, বিশেষ করে যখন হেডলেস ব্রাউজারের প্রয়োজন হয়। Puppeteer এবং Selenium এর মতো নতুন টুলগুলো বর্তমানে PhantomJS এর কার্যকারিতার বিকল্প হিসেবে ব্যবহৃত হচ্ছে।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?