ভিবিস্ক্রিপ্ট (VBScript) দিয়ে ওয়েব স্ক্র্যাপিং এবং ইন্টারনেট অবজেক্টস ব্যবহারের মাধ্যমে আপনি ওয়েব পেজের ডেটা সংগ্রহ করতে পারেন। ওয়েব স্ক্র্যাপিং হল একটি প্রক্রিয়া যার মাধ্যমে আপনি ওয়েব পেজ থেকে ডেটা বের করেন। এটি সাধারণত ওয়েব সাইটের পেজগুলোর HTML কনটেন্ট পড়ে এবং প্রয়োজনীয় তথ্য সংগ্রহ করার জন্য ব্যবহৃত হয়।
ভিবিস্ক্রিপ্টে, InternetExplorer.Application অবজেক্টের মাধ্যমে আপনি ওয়েব পেজে এক্সেস করতে পারেন, এবং ওয়েব স্ক্র্যাপিং করতে পারেন।
ওয়েব স্ক্র্যাপিং এর জন্য InternetExplorer.Application ব্যবহার
ভিবিস্ক্রিপ্টে ওয়েব স্ক্র্যাপিং করার জন্য InternetExplorer.Application অবজেক্টটি ব্যবহৃত হয়। এই অবজেক্টটি Internet Explorer ব্রাউজারটি কন্ট্রোল করতে সক্ষম এবং আপনাকে HTML পেজের উপাদান (elements) অ্যাক্সেস করতে সাহায্য করে।
ওয়েব স্ক্র্যাপিং উদাহরণ
১. Internet Explorer ব্রাউজার ব্যবহার করে একটি ওয়েব পেজ লোড করা
Dim ie
Set ie = CreateObject("InternetExplorer.Application")
' ব্রাউজারটি অদৃশ্য (Invisible) করা
ie.Visible = False
' ওয়েব পেজ লোড করা
ie.Navigate "https://www.example.com"
' ওয়েব পেজটি লোড হওয়ার জন্য অপেক্ষা করা
Do While ie.Busy Or ie.ReadyState <> 4
WScript.Sleep 100
Loop
' পেজের HTML সংগ্রহ করা
Dim html
html = ie.document.body.innerHTML
' HTML কনটেন্ট প্রদর্শন করা
MsgBox html
' ব্রাউজার বন্ধ করা
ie.Quit
Set ie = Nothing
এখানে:
InternetExplorer.Applicationব্যবহার করে একটি Internet Explorer ব্রাউজার instance তৈরি করা হয়েছে।ie.Navigateদিয়ে ওয়েব পেজটি লোড করা হয়েছে।ie.document.body.innerHTMLদিয়ে ওয়েব পেজের HTML কনটেন্ট পাওয়া গেছে।ie.Quitদিয়ে ব্রাউজারটি বন্ধ করা হয়েছে।
২. HTML উপাদান থেকে ডেটা সংগ্রহ করা
আপনি যদি HTML পেজ থেকে নির্দিষ্ট উপাদান (যেমন টেবিল, লিঙ্ক, বা প্যারাগ্রাফ) সংগ্রহ করতে চান, তাহলে document.getElementById বা document.getElementsByTagName ব্যবহার করতে পারেন।
উদাহরণ: HTML পেজ থেকে একটি টেবিলের ডেটা সংগ্রহ করা
Dim ie, table, row, cell
Set ie = CreateObject("InternetExplorer.Application")
' ব্রাউজারটি অদৃশ্য (Invisible) করা
ie.Visible = False
' ওয়েব পেজ লোড করা
ie.Navigate "https://www.example.com"
' ওয়েব পেজটি লোড হওয়ার জন্য অপেক্ষা করা
Do While ie.Busy Or ie.ReadyState <> 4
WScript.Sleep 100
Loop
' টেবিল এলিমেন্ট খুঁজে বের করা
Set table = ie.document.getElementsByTagName("table")(0)
' টেবিলের প্রতিটি রো পড়া
For Each row In table.getElementsByTagName("tr")
For Each cell In row.getElementsByTagName("td")
MsgBox cell.innerText
Next
Next
' ব্রাউজার বন্ধ করা
ie.Quit
Set ie = Nothing
এখানে:
getElementsByTagName("table")দিয়ে প্রথম টেবিলটি খুঁজে বের করা হয়েছে।getElementsByTagName("tr")দিয়ে টেবিলের রো (row) গুলো পড়া হয়েছে।getElementsByTagName("td")দিয়ে প্রতিটি সেলের (cell) ডেটা প্রদর্শন করা হয়েছে।
৩. HTML ফর্মের সাথে ইন্টারঅ্যাকশন করা
ওয়েব পেজের ফর্মের ইনপুট এলিমেন্টের সাথে ইন্টারঅ্যাক্ট করার জন্য আপনি document.getElementById বা document.getElementsByName ব্যবহার করতে পারেন।
উদাহরণ: ফর্ম ইনপুট ভ্যালু পূর্ণ করা
Dim ie
Set ie = CreateObject("InternetExplorer.Application")
' ব্রাউজারটি অদৃশ্য (Invisible) করা
ie.Visible = True
' ওয়েব পেজ লোড করা
ie.Navigate "https://www.example.com/form"
' ওয়েব পেজটি লোড হওয়ার জন্য অপেক্ষা করা
Do While ie.Busy Or ie.ReadyState <> 4
WScript.Sleep 100
Loop
' ফর্মের ইনপুট ফিল্ডে ডেটা লিখা
ie.document.getElementById("username").Value = "your_username"
ie.document.getElementById("password").Value = "your_password"
' ফর্ম সাবমিট করা
ie.document.getElementById("loginButton").Click
' ব্রাউজার বন্ধ করা
ie.Quit
Set ie = Nothing
এখানে:
- getElementById("username").Value এবং getElementById("password").Value ব্যবহার করে ফর্মের ইনপুট ফিল্ডে মান সেট করা হয়েছে।
- Click মেথড ব্যবহার করে ফর্ম সাবমিট করা হয়েছে।
সারাংশ
ভিবিস্ক্রিপ্ট ব্যবহার করে ওয়েব স্ক্র্যাপিং করা সম্ভব, বিশেষত InternetExplorer.Application অবজেক্টের মাধ্যমে ওয়েব পেজ লোড, HTML উপাদান এক্সেস এবং ফর্মের সাথে ইন্টারঅ্যাকশন করা যায়। getElementById, getElementsByTagName, এবং getElementsByName মেথডের মাধ্যমে HTML ডকুমেন্টের ভেতরের বিভিন্ন উপাদান (যেমন টেবিল, ইনপুট ফিল্ড) থেকে ডেটা সংগ্রহ করা সম্ভব। এটি ওয়েব ডেটা সংগ্রহের জন্য একটি শক্তিশালী উপায়, তবে এটি পুরোনো ব্রাউজার (Internet Explorer) ব্যবহার করে কাজ করে, এবং আধুনিক ওয়েব ব্রাউজার (Chrome, Firefox) এর সাথে এটি কাজ নাও করতে পারে।
VBScript এর মাধ্যমে আপনি Internet Explorer অবজেক্ট ব্যবহার করে ওয়েব পেজ ম্যানিপুলেশন করতে পারেন। Internet Explorer অবজেক্টটি একটি COM অবজেক্ট, যা আপনাকে IE ব্রাউজার ইন্সট্যান্স তৈরি, ওয়েব পেজে ইন্টারঅ্যাক্ট করা এবং পেজের উপাদানসমূহ ম্যানিপুলেট করতে সাহায্য করে। এটি বিশেষভাবে ওয়েব স্ক্র্যাপিং, অটোমেশন এবং ডেভেলপমেন্ট টাস্কে ব্যবহৃত হতে পারে।
Internet Explorer অবজেক্ট ব্যবহার করা
Internet Explorer অবজেক্টটি ব্যবহার করার জন্য, প্রথমে আপনাকে CreateObject ফাংশনের মাধ্যমে এটি তৈরি করতে হবে। একবার এটি তৈরি হলে, আপনি ব্রাউজারের বিভিন্ন ফিচার যেমন URL লোড করা, DOM (Document Object Model) ইন্টারঅ্যাকশন, ফর্ম পূর্ণ করা, এবং আরও অনেক কিছু করতে পারবেন।
Internet Explorer অবজেক্ট তৈরি করা
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True ' IE ব্রাউজারটি দৃশ্যমান করা
এখানে, CreateObject("InternetExplorer.Application") এর মাধ্যমে Internet Explorer এর একটি নতুন ইন্সট্যান্স তৈরি করা হয়েছে। IE.Visible = True সেটিংটি ব্রাউজারকে দৃশ্যমান করে তোলে।
ওয়েব পেজ লোড করা
Navigate মেথড ব্যবহার করে আপনি ওয়েব পেজ লোড করতে পারেন।
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.example.com" ' ওয়েব পেজ লোড করা
এখানে, IE.Navigate "http://www.example.com" লাইনটি ওয়েব পেজটি লোড করতে ব্যবহৃত হচ্ছে।
পেজের ডকুমেন্ট অবজেক্ট মডেল (DOM) এর সাথে ইন্টারঅ্যাক্ট করা
একবার পেজ লোড হয়ে গেলে, আপনি DOM (Document Object Model) এর মাধ্যমে পেজের উপাদানগুলো যেমন টেক্সট, লিঙ্ক, বাটন ইত্যাদি ম্যানিপুলেট করতে পারেন। আপনি ফর্ম ফিল্ডের মান পরিবর্তন করতে, পেজের লিঙ্ক অনুসরণ করতে এবং অন্যান্য ইন্টারঅ্যাকশন করতে পারবেন।
উদাহরণ: ফর্মের ইনপুট ভ্যালু সেট করা
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.example.com/login" ' লোগিন পেজ লোড করা
' পেজ লোড হওয়ার পর
Do While IE.Busy Or IE.ReadyState <> 4
WScript.Sleep 100
Loop
' ফর্মের ইনপুট ফিল্ডে মান প্রবেশ করা
IE.document.getElementById("username").value = "your_username"
IE.document.getElementById("password").value = "your_password"
' ফর্ম সাবমিট করা
IE.document.getElementById("loginForm").submit
এখানে, getElementById("username").value এবং getElementById("password").value ব্যবহার করে ইনপুট ফিল্ডের মান পরিবর্তন করা হচ্ছে এবং submit মেথড ব্যবহার করে ফর্মটি সাবমিট করা হচ্ছে।
ওয়েব পেজে লিঙ্ক ক্লিক করা
আপনি ওয়েব পেজের কোনো লিঙ্ক ক্লিক করতে click মেথড ব্যবহার করতে পারেন। এটি পেজের ট্যাগ বা অন্যান্য ইন্টারঅ্যাকটিভ উপাদান নিয়ে কাজ করতে পারে।
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.example.com"
' পেজ লোড হওয়ার পর
Do While IE.Busy Or IE.ReadyState <> 4
WScript.Sleep 100
Loop
' লিঙ্ক ক্লিক করা
IE.document.getElementById("link_id").Click
এখানে, getElementById("link_id").Click মেথডটি পেজে থাকা একটি লিঙ্ককে ক্লিক করার জন্য ব্যবহৃত হচ্ছে।
পেজের HTML কনটেন্ট পড়া
body.innerHTML বা document.body.createTextRange() মেথড ব্যবহার করে আপনি পেজের HTML কনটেন্ট পড়তে পারেন।
Dim IE, htmlContent
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.example.com"
' পেজ লোড হওয়ার পর
Do While IE.Busy Or IE.ReadyState <> 4
WScript.Sleep 100
Loop
' HTML কনটেন্ট পড়া
htmlContent = IE.document.body.innerHTML
MsgBox htmlContent
এখানে, innerHTML ব্যবহার করে পেজের মূল কনটেন্টটি পড়া হচ্ছে এবং মেসেজ বক্সে প্রদর্শিত হচ্ছে।
ওয়েব পেজ থেকে টেক্সট সংগ্রহ করা
এটি একটি সাধারণ উদাহরণ, যেখানে পেজের নির্দিষ্ট এলিমেন্ট থেকে টেক্সট সংগ্রহ করা হচ্ছে।
Dim IE, text
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.example.com"
' পেজ লোড হওয়ার পর
Do While IE.Busy Or IE.ReadyState <> 4
WScript.Sleep 100
Loop
' পেজের একটি প্যারাগ্রাফ থেকে টেক্সট সংগ্রহ করা
text = IE.document.getElementsByTagName("p")(0).innerText
MsgBox text
এখানে, প্রথম প্যারাগ্রাফের টেক্সট সংগ্রহ করে মেসেজ বক্সে প্রদর্শিত হচ্ছে।
Internet Explorer অবজেক্ট বন্ধ করা
একবার আপনার কাজ শেষ হলে, আপনি Quit মেথড ব্যবহার করে Internet Explorer অবজেক্টটি বন্ধ করতে পারেন।
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.example.com"
' কিছু সময় পরে IE বন্ধ করা
WScript.Sleep 5000
IE.Quit
এখানে, IE.Quit মেথডটি ব্রাউজারটি বন্ধ করে দেয়।
সারাংশ
VBScript এর মাধ্যমে Internet Explorer অবজেক্ট ব্যবহার করে আপনি ওয়েব পেজের সাথে বিভিন্ন ধরনের ইন্টারঅ্যাকশন করতে পারেন, যেমন ফর্ম ফিল্ডে মান প্রবেশ করা, লিঙ্ক ক্লিক করা, HTML কনটেন্ট পড়া, টেক্সট সংগ্রহ করা ইত্যাদি। এই ধরনের স্ক্রিপ্টিং অটোমেশন এবং ওয়েব স্ক্র্যাপিং এর জন্য খুবই কার্যকরী। Internet Explorer অবজেক্ট এর মাধ্যমে VBScript একটি ওয়েব পেজে সব ধরনের ম্যানিপুলেশন ও ইন্টারঅ্যাকশন সহজে সম্পাদন করতে সক্ষম হয়।
ওয়েব স্ক্র্যাপিং হল একটি প্রক্রিয়া যার মাধ্যমে একটি ওয়েব পেজের থেকে ডেটা সংগ্রহ করা হয়। VBScript এর মাধ্যমে ওয়েব স্ক্র্যাপিং করতে InternetExplorer অবজেক্ট ব্যবহার করা হয়, যা Internet Explorer ব্রাউজারকে স্বয়ংক্রিয়ভাবে নিয়ন্ত্রণ করে। এই প্রক্রিয়ার মাধ্যমে আপনি HTML পেজের বিভিন্ন উপাদান (যেমন টেক্সট, টেবিল, লিঙ্ক, ইমেজ ইত্যাদি) সংগ্রহ করতে পারেন।
ওয়েব স্ক্র্যাপিংয়ের জন্য প্রয়োজনীয় উপাদান
ওয়েব স্ক্র্যাপিং করার জন্য আমাদের প্রয়োজন:
- InternetExplorer অবজেক্ট: এটি একটি ব্রাউজার অবজেক্ট যা VBScript দ্বারা নিয়ন্ত্রিত হয়।
- HTMLDocument: এটি ওয়েব পেজের HTML কনটেন্ট ধরে রাখে, যা আমাদের স্ক্র্যাপিংয়ের জন্য দরকার।
- getElementsByTagName অথবা getElementById: এই পদ্ধতিগুলো HTML ডকুমেন্টের নির্দিষ্ট উপাদানগুলোকে শনাক্ত করতে ব্যবহৃত হয়।
VBScript দিয়ে ওয়েব স্ক্র্যাপিং উদাহরণ
এখানে একটি উদাহরণ দেওয়া হচ্ছে যেখানে একটি ওয়েব পেজের নির্দিষ্ট ট্যাগ থেকে তথ্য সংগ্রহ করা হচ্ছে। এই স্ক্রিপ্টটি Internet Explorer ব্রাউজারকে স্বয়ংক্রিয়ভাবে ওপেন করে এবং সেখান থেকে ডেটা স্ক্র্যাপ করে।
উদাহরণ: ওয়েব স্ক্র্যাপিং একটি টেবিলের তথ্য সংগ্রহ
Dim ie, html, links, link, i
' Internet Explorer অবজেক্ট তৈরি
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = False ' ব্রাউজারটি দৃশ্যমান করা হচ্ছে না
' নির্দিষ্ট ওয়েব পেজ খুলুন
ie.Navigate "http://example.com" ' এখানে আপনার URL লিখুন
' ওয়েব পেজ লোড হওয়া পর্যন্ত অপেক্ষা করুন
Do While ie.Busy Or ie.ReadyState <> 4
WScript.Sleep 100
Loop
' HTML ডকুমেন্ট সংগ্রহ
Set html = ie.document
' নির্দিষ্ট ট্যাগ সংগ্রহ (এখানে টেবিলের সমস্ত লিঙ্ক সংগ্রহ করা হচ্ছে)
Set links = html.getElementsByTagName("a")
' সমস্ত লিঙ্কের URL দেখানো
For Each link In links
MsgBox link.href ' হাইপারলিঙ্কের URL
Next
' Internet Explorer বন্ধ করা
ie.Quit
Set ie = Nothing
Set html = Nothing
এখানে:
- ie.Navigate: ওয়েব পেজটি লোড করার জন্য ব্যবহৃত হয়।
- html.getElementsByTagName("a"): পেজে থাকা সমস্ত ট্যাগ, অর্থাৎ হাইপারলিঙ্ক সংগ্রহ করা হচ্ছে।
- link.href: প্রতিটি লিঙ্কের URL দেখানো হচ্ছে।
অন্যান্য HTML উপাদানগুলোর স্ক্র্যাপিং
ওয়েব স্ক্র্যাপিং এর মাধ্যমে আপনি HTML tags, class names, IDs, links অথবা tables থেকে ডেটা সংগ্রহ করতে পারেন। নিচে কিছু উদাহরণ দেওয়া হলো:
getElementsByClassName: HTML পেজে যেকোনো নির্দিষ্ট ক্লাস নাম দ্বারা উপাদান চিহ্নিত করা যায়।
Set elements = html.getElementsByClassName("classname")getElementById: নির্দিষ্ট ID দিয়ে উপাদান পাওয়া যায়।
Set element = html.getElementById("element_id") MsgBox element.innerText ' উপাদানের টেক্সট দেখানোgetElementsByTagName: নির্দিষ্ট ট্যাগ নামের উপাদান গুলো সংগ্রহ করা যায়।
Set elements = html.getElementsByTagName("div")
ইন্টারনেট অবজেক্টস (Internet Objects) ব্যবহারের সুবিধা
- Internet Explorer নিয়ন্ত্রণ: VBScript এর মাধ্যমে আপনি Internet Explorer ব্রাউজারকে নিয়ন্ত্রণ করতে পারেন। এটি স্বয়ংক্রিয়ভাবে ব্রাউজারে একটি ওয়েব পেজ লোড করে এবং সেখানে কাজ করতে পারে।
- HTML ডকুমেন্টে অ্যাক্সেস: ওয়েব পেজের DOM (Document Object Model) ব্যবহার করে আপনি HTML উপাদানগুলোতে অ্যাক্সেস এবং পরিবর্তন করতে পারেন।
- অটোমেশন: ওয়েব পেজ থেকে ডেটা স্বয়ংক্রিয়ভাবে সংগ্রহ এবং প্রসেস করতে সাহায্য করে, যা সময় সাশ্রয়ী এবং কার্যকরী।
সারাংশ
ভিবিস্ক্রিপ্ট ব্যবহার করে ওয়েব স্ক্র্যাপিং করতে InternetExplorer অবজেক্ট ব্যবহার করা হয়। এর মাধ্যমে আপনি HTML পেজের উপাদানগুলি অ্যাক্সেস এবং স্ক্র্যাপ করতে পারেন, যেমন টেবিল, লিঙ্ক, প্যারাগ্রাফ, এবং অন্যান্য ডেটা। getElementsByTagName, getElementById, এবং getElementsByClassName এর মাধ্যমে আপনি HTML ডকুমেন্টের বিভিন্ন অংশ থেকে তথ্য সংগ্রহ করতে পারবেন।
VBScript এ HTTP রিকোয়েস্ট পাঠাতে এবং রেসপন্স গ্রহণ করতে সাধারণত XMLHttpRequest অথবা MSXML2.XMLHTTP অবজেক্ট ব্যবহার করা হয়। এটি আপনাকে ওয়েব সার্ভারগুলির সাথে যোগাযোগ করতে, ডেটা পাঠাতে এবং রেসপন্স গ্রহণ করতে সাহায্য করে, যা AJAX কলের মতো ওয়েব অ্যাপ্লিকেশনে ব্যবহৃত হয়। এই স্ক্রিপ্টটি ক্লায়েন্ট সাইড থেকে ডাটা সার্ভারে পাঠাতে এবং সার্ভার থেকে ডেটা রিসিভ করতে ব্যবহার করা হয়।
XMLHttpRequest অবজেক্ট ব্যবহার
XMLHttpRequest অবজেক্টটি মূলত ওয়েব ব্রাউজারে ব্যবহৃত হলেও, VBScript এ এটি কমপ্লেক্স HTTP রিকোয়েস্ট পাঠানোর জন্য ব্যবহৃত হতে পারে। এর মাধ্যমে আপনি GET, POST, PUT, DELETE ইত্যাদি HTTP মেথড ব্যবহার করে রিকোয়েস্ট পাঠাতে পারেন।
সিনট্যাক্স:
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "https://example.com/api/data", False
http.Send
responseText = http.responseText
MsgBox responseText
HTTP GET রিকোয়েস্ট পাঠানো
GET রিকোয়েস্টটি সাধারণত ডেটা প্রাপ্তির জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি সার্ভার থেকে ডেটা রিট্রিভ করতে পারেন। নিচে একটি GET রিকোয়েস্টের উদাহরণ দেওয়া হল:
Dim http, url, responseText
Set http = CreateObject("MSXML2.XMLHTTP")
' GET রিকোয়েস্ট পাঠানো
url = "https://api.exaple.com/data"
http.Open "GET", url, False
http.Send
' রেসপন্সের টেক্সট গ্রহণ
responseText = http.responseText
' রেসপন্স দেখানো
MsgBox "Response: " & responseText
এখানে, GET মেথডটি "https://api.example.com/data" URL এ পাঠানো হয়েছে এবং সার্ভার থেকে প্রাপ্ত ডেটা responseText ভেরিয়েবলে সংরক্ষণ করা হয়েছে। তারপর MsgBox ব্যবহার করে রেসপন্স প্রদর্শিত হবে।
HTTP POST রিকোয়েস্ট পাঠানো
POST রিকোয়েস্টটি সাধারণত ডেটা সার্ভারে পাঠানোর জন্য ব্যবহৃত হয়। নিচে একটি POST রিকোয়েস্ট পাঠানোর উদাহরণ দেওয়া হল:
Dim http, url, data, responseText
Set http = CreateObject("MSXML2.XMLHTTP")
' POST রিকোয়েস্ট পাঠানো
url = "https://api.example.com/data"
data = "param1=value1¶m2=value2"
http.Open "POST", url, False
http.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.Send data
' রেসপন্সের টেক্সট গ্রহণ
responseText = http.responseText
' রেসপন্স দেখানো
MsgBox "Response: " & responseText
এখানে, POST মেথডটি "https://api.example.com/data" URL এ পাঠানো হয়েছে এবং data প্যারামিটারগুলো সার্ভারে পাঠানো হয়েছে। SetRequestHeader দিয়ে Content-Type হেডার সেট করা হয়েছে, যা নির্দেশ করে যে ডেটাটি application/x-www-form-urlencoded ফরম্যাটে পাঠানো হচ্ছে। এরপর, রেসপন্স গ্রহণ করা হয়েছে এবং MsgBox দিয়ে তা প্রদর্শন করা হয়েছে।
HTTP রিকোয়েস্টের রেসপন্স হ্যান্ডলিং
HTTP রিকোয়েস্ট পাঠানোর পর, responseText, responseXML, এবং status প্রপার্টি ব্যবহার করে রেসপন্স হ্যান্ডল করা যায়। এখানে, কিছু সাধারণ রেসপন্স প্রপার্টি এবং তাদের ব্যবহারের উদাহরণ:
- responseText: সার্ভার থেকে পাওয়া টেক্সট রেসপন্স।
- responseXML: সার্ভার থেকে পাওয়া XML রেসপন্স।
- status: HTTP স্ট্যাটাস কোড (যেমন 200, 404)।
- statusText: স্ট্যাটাস কোডের সাথে সম্পর্কিত স্ট্যাটাস বার্তা।
উদাহরণ:
Dim http, url, responseText, status, statusText
Set http = CreateObject("MSXML2.XMLHTTP")
' GET রিকোয়েস্ট পাঠানো
url = "https://api.example.com/data"
http.Open "GET", url, False
http.Send
' HTTP স্ট্যাটাস চেক করা
status = http.status
statusText = http.statusText
' রেসপন্স এবং স্ট্যাটাস দেখানো
If status = 200 Then
responseText = http.responseText
MsgBox "Response: " & responseText
Else
MsgBox "Error: " & status & " " & statusText
End If
এখানে, প্রথমে স্ট্যাটাস কোড চেক করা হয়েছে। যদি স্ট্যাটাস কোড 200 (অর্থাৎ সফল রিকোয়েস্ট) হয়, তবে রেসপন্স টেক্সটটি দেখানো হবে। অন্যথায়, একটি ত্রুটি বার্তা দেখানো হবে।
সারাংশ
VBScript এ HTTP রিকোয়েস্ট পাঠানোর জন্য MSXML2.XMLHTTP অবজেক্ট ব্যবহার করা হয়। এর মাধ্যমে GET এবং POST রিকোয়েস্ট পাঠানো যায় এবং সার্ভার থেকে রেসপন্স গ্রহণ করা যায়। responseText, responseXML, status, এবং statusText প্রপার্টি ব্যবহার করে রেসপন্স হ্যান্ডল করা হয়। এটি ওয়েব সার্ভিসের সাথে যোগাযোগ করার জন্য একটি গুরুত্বপূর্ণ টুল।
VBScript ব্যবহার করে ওয়েব ফর্মের সাবমিশন এবং অটোমেশন কার্যক্রম সহজে করা যেতে পারে। এটি সাধারণত Internet Explorer ব্রাউজারের মাধ্যমে কাজ করে, কারণ VBScript মূলত Microsoft Internet Explorer (IE)-এর সাথে কাজ করে। VBScript দিয়ে ওয়েব ফর্মে ডেটা পূর্ণ করা, ফর্ম সাবমিট করা, এবং সাবমিশনের পরে বিভিন্ন কার্যক্রম অটোমেট করা যায়। এখানে আমরা ওয়েব ফর্ম সাবমিশন এবং অটোমেশন সম্পর্কিত প্রক্রিয়া আলোচনা করব।
VBScript দিয়ে ওয়েব ফর্ম সাবমিট করার ধারণা
ওয়েব ফর্মে সাধারণত ইউজারের ইনপুট নেওয়া হয়, যেমন নাম, ইমেইল, ফোন নম্বর ইত্যাদি। VBScript ব্যবহার করে এই ইনপুট ফিল্ডগুলো পূর্ণ করা এবং ফর্মটি সাবমিট করা সম্ভব। এখানে, Internet Explorer (IE) ব্রাউজারে VBScript ব্যবহার করা হয়, যাতে এটি ওয়েব পৃষ্ঠার কন্ট্রোলের সাথে ইন্টারঅ্যাক্ট করতে পারে।
ওয়েব ফর্ম সাবমিশন এবং অটোমেশন প্রক্রিয়া
এখানে একটি উদাহরণ দেওয়া হচ্ছে, যেখানে আমরা VBScript ব্যবহার করে একটি ওয়েব ফর্মের ইনপুট ফিল্ডে ডেটা পূর্ণ করব এবং সেই ফর্মটি সাবমিট করব।
উদাহরণ: VBScript দিয়ে ওয়েব ফর্মে ডেটা পূর্ণ করা এবং সাবমিট করা
Dim objIE, objForm, objUsername, objEmail, objSubmitButton
' Internet Explorer ব্রাউজার শুরু করা
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True ' ব্রাউজার উইন্ডো দেখানো
' ওয়েব পৃষ্ঠা লোড করা
objIE.Navigate "http://www.example.com/formpage.html"
Do While objIE.Busy Or objIE.ReadyState <> 4
WScript.Sleep 100
Loop
' ফর্ম এলিমেন্টগুলো অ্যাক্সেস করা
Set objForm = objIE.document.forms(0) ' প্রথম ফর্ম নির্বাচন
Set objUsername = objForm.elements("username") ' "username" নামক ফিল্ড নির্বাচন
Set objEmail = objForm.elements("email") ' "email" নামক ফিল্ড নির্বাচন
Set objSubmitButton = objForm.elements("submit") ' "submit" বাটন নির্বাচন
' ফর্মে ডেটা পূর্ণ করা
objUsername.Value = "JohnDoe" ' ব্যবহারকারীর নাম
objEmail.Value = "johndoe@example.com" ' ইমেইল
' ফর্ম সাবমিট করা
objSubmitButton.Click
' ফর্ম সাবমিশন পরবর্তী কাজ
WScript.Sleep 2000 ' কিছু সময়ের জন্য অপেক্ষা করা
MsgBox "ফর্ম সফলভাবে সাবমিট হয়েছে!"
' Internet Explorer বন্ধ করা
objIE.Quit
Set objIE = Nothing
Set objForm = Nothing
Set objUsername = Nothing
Set objEmail = Nothing
Set objSubmitButton = Nothing
স্ক্রিপ্ট বিশ্লেষণ
- Internet Explorer অ্যাপ্লিকেশন তৈরি করা: স্ক্রিপ্টটি Internet Explorer ব্রাউজার শুরু করে এবং নির্দিষ্ট URL লোড করে যেখানে ফর্মটি আছে।
- ফর্ম এলিমেন্ট অ্যাক্সেস করা:
objIE.document.forms(0)ব্যবহার করে প্রথম ফর্মটি নির্বাচন করা হয় এবং তারপর ফর্মের ইনপুট ফিল্ড এবং বাটনগুলো অ্যাক্সেস করা হয়। - ডেটা পূর্ণ করা:
objUsername.ValueএবংobjEmail.Valueদিয়ে ফর্মের টেক্সট বক্সে ডেটা সেট করা হয়। - ফর্ম সাবমিট করা:
objSubmitButton.Clickদ্বারা ফর্মটি সাবমিট করা হয়। - ফর্ম সাবমিশন পরবর্তী কাজ:
WScript.Sleep 2000কমান্ড দিয়ে কিছু সময়ের জন্য অপেক্ষা করা হয় এবং তারপর একটি বার্তা বক্সে "ফর্ম সফলভাবে সাবমিট হয়েছে!" দেখানো হয়।
ওয়েব ফর্ম অটোমেশন ব্যবহারের সুবিধা
- ডেটা ইনপুট স্বয়ংক্রিয় করা: ইউজারের হাত দিয়ে ইনপুট না দিয়ে, VBScript ব্যবহার করে অটোমেটিকভাবে ডেটা পূর্ণ করা যায়। এটি পরীক্ষামূলক কাজ বা বড় পরিমাণে ডেটা এন্ট্রি করার ক্ষেত্রে উপকারী।
- ফর্ম সাবমিট সহজতর করা: বিভিন্ন ওয়েব ফর্ম অটোমেটিকভাবে পূর্ণ করা এবং সাবমিট করা যায়, যা অটোমেশন স্ক্রিপ্টের মাধ্যমে সময় সাশ্রয়ী হয়।
- ইন্টিগ্রেশন এবং সিস্টেম অটোমেশন: স্ক্রিপ্টগুলো বিভিন্ন সিস্টেমের সাথে ইন্টিগ্রেট করা যায়, যেমন ওয়েব সাইটের লগইন, ডেটাবেস আপডেট করা, রিপোর্ট সিস্টেমে ডেটা ইনপুট করা ইত্যাদি।
VBScript দিয়ে ফর্ম ভ্যালিডেশন
ফর্ম ভ্যালিডেশন হল এমন একটি প্রক্রিয়া যেখানে নিশ্চিত করা হয় যে, ব্যবহারকারীর দেয়া ইনপুটগুলি সঠিক। VBScript ব্যবহার করে ফর্মের ইনপুট ভ্যালিডেশন করা যায়, যেমন নিশ্চিত করা যে ফর্মে একটি নির্দিষ্ট ইনপুট দেওয়া হয়েছে কিনা।
উদাহরণ: ফর্ম ভ্যালিডেশন স্ক্রিপ্ট
Sub ValidateForm()
Dim objForm, objUsername, objEmail
' ফর্ম এবং ইনপুট ফিল্ড গুলি নির্বাচন করা
Set objForm = document.forms(0)
Set objUsername = objForm.elements("username")
Set objEmail = objForm.elements("email")
' ভ্যালিডেশন: ইউজারনেম এবং ইমেইল ফিল্ড চেক করা
If objUsername.Value = "" Then
MsgBox "দয়া করে আপনার নাম দিন!"
objUsername.Focus
Exit Sub
End If
If objEmail.Value = "" Then
MsgBox "দয়া করে আপনার ইমেইল দিন!"
objEmail.Focus
Exit Sub
End If
' ফর্ম সফলভাবে সাবমিট
objForm.submit
End Sub
এখানে, ব্যবহারকারীর নাম এবং ইমেইল ফিল্ড চেক করা হয়েছে। যদি কোন একটি ফিল্ড খালি থাকে, তবে একটি বার্তা প্রদর্শিত হবে এবং ফর্মটি সাবমিট হবে না।
সারাংশ
VBScript ব্যবহার করে ওয়েব ফর্মের সাবমিশন এবং অটোমেশন খুব সহজভাবে করা যায়। এটি ব্যবহারকারী থেকে ডেটা সংগ্রহ, ফর্ম পূর্ণ করা, সাবমিট করা, এবং পরবর্তী কার্যক্রম সম্পাদন করতে সহায়তা করে। এছাড়া, আপনি ফর্মের ইনপুট ভ্যালিডেশন এবং অটোমেশন আরও উন্নত করতে পারবেন, যা ওয়েব ডেভেলপমেন্ট এবং টেস্টিং এর ক্ষেত্রে কার্যকরী হয়ে ওঠে।
Read more