বিষয় | বর্ণনা |
---|---|
নির্বাচকদের পরিচিতি | XPath এবং CSS নির্বাচকদের ওভারভিউ। |
XPath বেসিক | XPath সিনট্যাক্স, এক্সপ্রেশন এবং অক্ষের ব্যাখ্যা। |
CSS সিলেক্টর বেসিক | CSS নির্বাচক, সংযোজক এবং ছদ্ম-শ্রেণী বোঝা। |
XPath বনাম CSS নির্বাচক | XPath এবং CSS নির্বাচকদের মধ্যে তুলনা, শক্তি এবং দুর্বলতা হাইলাইট করা। |
ব্যবহারিক উদাহরণ | ওয়েব স্ক্র্যাপিংয়ের জন্য XPath এবং CSS নির্বাচকদের ব্যবহার করার ধাপে ধাপে উদাহরণ। |
টুলস এবং রিসোর্স | XPath এবং CSS নির্বাচক শেখার এবং ব্যবহার করার জন্য প্রস্তাবিত সরঞ্জাম এবং সংস্থান। |
নির্বাচকদের পরিচিতি: XPath এবং CSS নির্বাচক কি?
XPath এবং CSS নির্বাচক হল শক্তিশালী টুলস যা ওয়েব স্ক্র্যাপিংয়ে ওয়েব পেজ থেকে উপাদানগুলি সনাক্ত করতে এবং বের করতে ব্যবহৃত হয়। এই টুলগুলি যে কেউ ওয়েব থেকে তথ্য সংগ্রহের প্রক্রিয়াটিকে স্বয়ংক্রিয় করতে খুঁজছেন তাদের জন্য অপরিহার্য, তা গবেষণা, ব্যবসা বা ব্যক্তিগত প্রকল্পের জন্যই হোক না কেন।
XPath বেসিক
XPath কি?
XPath, বা XML পাথ ল্যাঙ্গুয়েজ হল একটি ক্যোয়ারী ল্যাঙ্গুয়েজ যা আপনাকে XML নথিতে উপাদান এবং বৈশিষ্ট্যগুলির মাধ্যমে নেভিগেট করতে দেয়। ওয়েব স্ক্র্যাপিংয়ের প্রসঙ্গে, XPath HTML নথির মধ্যে উপাদানগুলি সনাক্ত করতে ব্যবহৃত হয়।
XPath সিনট্যাক্স এবং এক্সপ্রেশন
XPath এক্সপ্রেশনগুলি একটি XML নথি থেকে নোড নির্বাচন করতে ব্যবহৃত হয়। এখানে কিছু মৌলিক XPath অভিব্যক্তি রয়েছে:
- পরম পথ:
/html/body/div
- সব নির্বাচন করেdiv
উপাদান যে সন্তানদেরশরীর
উপাদান - আপেক্ষিক পাথ:
//div
- সব নির্বাচন করেdiv
নথির উপাদান, তাদের অবস্থান নির্বিশেষে। - গুণাবলী:
//div[@id='main']
- নির্বাচন করেdiv
সঙ্গে উপাদানআইডি
'প্রধান' এর সমান বৈশিষ্ট্য। - পাঠ্য বিষয়বস্তু:
//div[text()='হ্যালো ওয়ার্ল্ড']
- নির্বাচন করেdiv
'হ্যালো ওয়ার্ল্ড' পাঠ্য ধারণকারী উপাদান।
XPath অক্ষ
XPath অক্ষগুলি বর্তমান নোডের সাথে নোডের সম্পর্ককে সংজ্ঞায়িত করে। কিছু সাধারণভাবে ব্যবহৃত অক্ষ হল:
- শিশু:
শিশু::div
- সব নির্বাচন করেdiv
বর্তমান নোডের শিশু। - অভিভাবক:
অভিভাবক::div
- বর্তমান নোডের অভিভাবক নির্বাচন করে, যদি এটি একটি হয়div
. - ভাইবোন:
নিম্নলিখিত ভাইবোন::div
- সব নির্বাচন করেdiv
বর্তমান নোডের পরে ভাইবোন। - পূর্বপুরুষ:
পূর্বপুরুষ::div
- সব নির্বাচন করেdiv
বর্তমান নোডের পূর্বপুরুষ।
CSS সিলেক্টর বেসিক
CSS নির্বাচক কি?
CSS নির্বাচক হল একটি ওয়েব পৃষ্ঠায় উপাদান নির্বাচন করতে ব্যবহৃত প্যাটার্ন। এগুলি প্রাথমিকভাবে স্টাইলিংয়ের জন্য CSS-এ ব্যবহৃত হয়, তবে উপাদানগুলি সনাক্ত করতে এগুলি ওয়েব স্ক্র্যাপিংয়েও ব্যবহার করা যেতে পারে।
মৌলিক CSS নির্বাচক
- টাইপ নির্বাচক:
div
- সব নির্বাচন করেdiv
উপাদান - ক্লাস নির্বাচক:
।শ্রেণির নাম
- ক্লাস সহ সমস্ত উপাদান নির্বাচন করেশ্রেণির নাম
. - আইডি নির্বাচক:
#id-নাম
- আইডি সহ উপাদান নির্বাচন করেআইডি-নাম
. - বৈশিষ্ট্য নির্বাচক:
[টাইপ='টেক্সট']
- বৈশিষ্ট্য সহ সমস্ত উপাদান নির্বাচন করেটাইপ
'টেক্সট' এ সেট করুন।
কম্বিনেটর এবং সিউডো-ক্লাস
- ডিসেন্ড্যান্ট কম্বিনেটর:
div p
- সব নির্বাচন করেপি
ভিতরে উপাদানdiv
উপাদান - শিশু সংযোজক:
div > p
- সব নির্বাচন করেপি
উপাদান যা সরাসরি সন্তানdiv
উপাদান - সংলগ্ন ভাইবোন কম্বিনেটর:
div + p
- নির্বাচন করেপি
একটি উপাদান যা অবিলম্বে একটি দ্বারা পূর্বে আছেdiv
উপাদান - সাধারণ ভাইবোন কম্বিনেটর:
div ~ পি
- সব নির্বাচন করেপি
যে উপাদানগুলির পূর্বে adiv
উপাদান - সিউডো-ক্লাস:
একটি: হোভার
- নির্বাচন করেক
উপাদান যখন ব্যবহারকারী তাদের উপর মাউস.
XPath বনাম CSS নির্বাচক: কোনটি ব্যবহার করবেন?
XPath এবং CSS নির্বাচক উভয়েরই তাদের শক্তি এবং দুর্বলতা রয়েছে এবং তাদের মধ্যে পছন্দ প্রায়ই টাস্কের নির্দিষ্ট প্রয়োজনীয়তার উপর নির্ভর করে।
XPath এর শক্তি
- ক্ষমতাশালী: XPath DOM এর মাধ্যমে সামনে এবং পিছনে উভয় দিকেই নেভিগেট করতে পারে, এটি জটিল প্রশ্নের জন্য অত্যন্ত শক্তিশালী করে তোলে।
- নমনীয়: XPath আরও জটিল অভিব্যক্তি এবং শর্তগুলির জন্য অনুমতি দেয়, বৃহত্তর নমনীয়তা প্রদান করে।
XPath এর দুর্বলতা
- জটিলতা: সিনট্যাক্স আরও জটিল এবং নতুনদের জন্য শেখা কঠিন হতে পারে।
- কর্মক্ষমতা: XPath প্রশ্নগুলি CSS নির্বাচকদের তুলনায় ধীর হতে পারে, বিশেষ করে বড় নথিতে।
CSS নির্বাচকদের শক্তি
- সরলতা: CSS নির্বাচকরা সাধারণত পড়তে এবং লিখতে সহজ, তাদের আরও শিক্ষানবিস-বান্ধব করে তোলে।
- কর্মক্ষমতা: CSS নির্বাচকরা প্রায়ই XPath কোয়েরির চেয়ে দ্রুততর হয়, বিশেষ করে আধুনিক ব্রাউজারে।
সিএসএস নির্বাচকদের দুর্বলতা
- সীমিত কার্যকারিতা: CSS নির্বাচকরা XPath এর তুলনায় কম শক্তিশালী এবং নমনীয়, বিশেষ করে জটিল প্রশ্নের জন্য।
ব্যবহারিক উদাহরণ: ওয়েব স্ক্র্যাপিংয়ের জন্য XPath এবং CSS নির্বাচকদের ব্যবহার
একটি ওয়েব পৃষ্ঠা থেকে তথ্য বের করতে XPath এবং CSS নির্বাচককে কীভাবে ব্যবহার করতে হয় তার কিছু বাস্তব উদাহরণ দেখি।
উদাহরণ 1: একটি ওয়েব পৃষ্ঠা থেকে শিরোনাম বের করা
XPath ব্যবহার করে:
//h1 | //h2 | //h3
এই অভিব্যক্তি সব নির্বাচন করে h1
, h2
, এবং h3
উপাদান
CSS নির্বাচক ব্যবহার করে:
h1, h2, h3
এই নির্বাচক সব নির্বাচন করে h1
, h2
, এবং h3
উপাদান
উদাহরণ 2: একটি নির্দিষ্ট শ্রেণীর সাথে লিঙ্কগুলি নিষ্কাশন করা
XPath ব্যবহার করে:
//a[@class='নির্দিষ্ট-শ্রেণী']
এই অভিব্যক্তি সব নির্বাচন করে ক
ক্লাসের সাথে উপাদান নির্দিষ্ট-শ্রেণী
.
CSS নির্বাচক ব্যবহার করে:
a. নির্দিষ্ট-শ্রেণী
এই নির্বাচক সব নির্বাচন করে ক
ক্লাসের সাথে উপাদান নির্দিষ্ট-শ্রেণী
.
উদাহরণ 3: নির্দিষ্ট টেক্সট ধারণকারী উপাদান নিষ্কাশন
XPath ব্যবহার করে:
//*[ধারণ করে(টেক্সট(),'নির্দিষ্ট টেক্সট')]
এই অভিব্যক্তিটি 'নির্দিষ্ট পাঠ্য' পাঠ্য ধারণকারী সমস্ত উপাদান নির্বাচন করে।
সিএসএস নির্বাচক ব্যবহার করা (সিএসএসের সাথে সরাসরি সম্ভব নয়, অতিরিক্ত জাভাস্ক্রিপ্ট প্রয়োজন):
/* CSS দিয়ে সরাসরি সম্ভব নয় */
টুল এবং রিসোর্স: XPath এবং CSS সিলেক্টর শেখা এবং ব্যবহার করা
বেশ কিছু টুল এবং রিসোর্স আপনাকে কার্যকরভাবে XPath এবং CSS সিলেক্টর শিখতে ও ব্যবহার করতে সাহায্য করতে পারে:
- ব্রাউজার ডেভেলপার টুলস: বেশিরভাগ আধুনিক ব্রাউজারগুলি অন্তর্নির্মিত বিকাশকারী সরঞ্জামগুলির সাথে আসে যা আপনাকে উপাদানগুলি পরিদর্শন করতে এবং XPath এবং CSS নির্বাচকদের পরীক্ষা করতে দেয়৷
- অনলাইন XPath মূল্যায়নকারী: XPath পরীক্ষকের মত ওয়েবসাইটগুলি আপনাকে আপনার XPath এক্সপ্রেশনগুলি অনলাইনে পরীক্ষা করার অনুমতি দেয়৷
- CSS সিলেক্টর টেস্টিং টুল: CSS ডিনারের মতো ওয়েবসাইটগুলি আপনাকে CSS নির্বাচকদের শিখতে সাহায্য করার জন্য ইন্টারেক্টিভ গেম সরবরাহ করে।
- ডকুমেন্টেশন: XPath এবং CSS নির্বাচকদের জন্য অফিসিয়াল ডকুমেন্টেশন W3Schools এবং MDN ওয়েব ডক্সে পাওয়া যাবে।
উপসংহার
ওয়েব স্ক্র্যাপিং বা স্বয়ংক্রিয় ডেটা নিষ্কাশনের সাথে জড়িত যে কারও জন্য XPath এবং CSS নির্বাচকদের দক্ষতা অর্জন করা অপরিহার্য। এই শক্তিশালী টুলগুলির মূল বিষয়গুলি বোঝার মাধ্যমে, আপনি ওয়েব পৃষ্ঠাগুলি থেকে আপনার প্রয়োজনীয় তথ্য সঠিকভাবে এবং দক্ষতার সাথে সনাক্ত করতে এবং বের করতে পারেন৷ আপনি একজন শিক্ষানবিস বা অভিজ্ঞ স্ক্র্যাপার হোন না কেন, XPath এবং CSS নির্বাচকদের শেখার মাধ্যমে আপনি যে দক্ষতা অর্জন করবেন তা আপনার ওয়েব স্ক্র্যাপিং টুলকিটে অমূল্য হবে।