Web Scraping এর জন্য rvest Package ব্যবহার করা

Web Scraping এবং API Integration - আর প্রোগ্রামিং (R Programming) - Big Data and Analytics

357

Web Scraping হলো একটি প্রক্রিয়া, যার মাধ্যমে ওয়েব পেজ থেকে ডেটা সংগ্রহ করা হয়। এটি খুবই কার্যকরী যখন আপনি ইন্টারনেট থেকে বড় পরিমাণ ডেটা সংগ্রহ করতে চান, যেমন সংবাদ, রেটিং, দাম, বা অন্য কোনো তথ্য। আর প্রোগ্রামিংয়ে rvest প্যাকেজ ব্যবহার করে সহজেই ওয়েব স্ক্র্যাপিং করা যায়। এই প্যাকেজটি ওয়েব পেজের HTML কনটেন্ট পার্স এবং ডেটা এক্সট্র্যাক্ট করার জন্য অত্যন্ত জনপ্রিয়।


rvest প্যাকেজ কী?

rvest প্যাকেজটি Hadley Wickham এর তৈরি এবং এটি ওয়েব পেজ থেকে ডেটা সংগ্রহ এবং বিশ্লেষণের জন্য ব্যবহৃত হয়। এটি HTML কনটেন্ট থেকে ডেটা বের করার জন্য অনেক শক্তিশালী ফাংশন সরবরাহ করে। এই প্যাকেজটি XML এবং CSS selectors ব্যবহার করে ওয়েব স্ক্র্যাপিং করে, যেটি ডেটা এক্সট্র্যাকশনকে খুবই সহজ করে তোলে।


rvest প্যাকেজ ইনস্টল এবং লোড করা

প্রথমে আপনাকে rvest প্যাকেজটি ইনস্টল এবং লোড করতে হবে।

ইনস্টল এবং লোড করা:

# rvest প্যাকেজ ইনস্টল করা
install.packages("rvest")

# rvest প্যাকেজ লোড করা
library(rvest)

Web Scraping প্রক্রিয়া: প্রধান পদক্ষেপ

ওয়েব স্ক্র্যাপিংয়ের সাধারণ প্রক্রিয়া বেশ কয়েকটি ধাপে সম্পন্ন হয়:

১. ওয়েব পেজের HTML কনটেন্ট সংগ্রহ করা

প্রথমে ওয়েব পেজের HTML কোড সংগ্রহ করতে হয়। এর জন্য read_html() ফাংশন ব্যবহার করা হয়।

# ওয়েব পেজের HTML কনটেন্ট পড়া
url <- "https://example.com"
web_page <- read_html(url)

২. HTML থেকে ডেটা এক্সট্র্যাক্ট করা

ওয়েব পেজের HTML কনটেন্ট থেকে নির্দিষ্ট উপাদান যেমন টেক্সট, লিঙ্ক, ছবি ইত্যাদি বের করতে হয়। এর জন্য html_nodes() এবং html_text() বা html_attr() ফাংশন ব্যবহার করা হয়।

উদাহরণ ১: টেক্সট এক্সট্র্যাক্ট করা

# ওয়েব পেজ থেকে সমস্ত প্যারাগ্রাফ টেক্সট বের করা
paragraphs <- web_page %>%
  html_nodes("p") %>%
  html_text()

print(paragraphs)

এখানে, html_nodes() ফাংশনটি ওয়েব পেজের সমস্ত প্যারাগ্রাফ (<p>) ট্যাগের মধ্যে ডেটা বের করবে, এবং html_text() ফাংশনটি ঐ ডেটাকে টেক্সট আকারে রিটার্ন করবে।

উদাহরণ ২: লিঙ্ক এক্সট্র্যাক্ট করা

# ওয়েব পেজ থেকে সমস্ত লিঙ্ক (URLs) বের করা
links <- web_page %>%
  html_nodes("a") %>%
  html_attr("href")

print(links)

এখানে, html_attr("href") ফাংশনটি সমস্ত <a> ট্যাগের href অ্যাট্রিবিউট বের করবে, যেগুলি লিঙ্কের URL নির্দেশ করে।

৩. ডেটা পরিস্কার এবং সংরক্ষণ করা

ওয়েব স্ক্র্যাপিংয়ের পর ডেটা সাধারণত পরিস্কার এবং স্ট্রাকচারড ফরম্যাটে (যেমন, ডেটা ফ্রেম) রাখতে হয়।

# ডেটা ফ্রেমে রূপান্তর করা
data <- data.frame(paragraphs)

এটি ডেটাকে একটি ডেটা ফ্রেমে রূপান্তর করে যাতে পরবর্তীতে বিশ্লেষণ করা সহজ হয়।


rvest প্যাকেজের অন্যান্য ফাংশন

rvest প্যাকেজটি আরও কিছু গুরুত্বপূর্ণ ফাংশন প্রদান করে যা ওয়েব স্ক্র্যাপিংয়ে সহায়ক:

১. html_table(): টেবিল এক্সট্র্যাক্ট করা

ওয়েব পেজের টেবিল থেকে ডেটা বের করার জন্য html_table() ফাংশন ব্যবহার করা হয়।

# টেবিল এক্সট্র্যাক্ট করা
table_data <- web_page %>%
  html_nodes("table") %>%
  html_table(fill = TRUE)

print(table_data)

এখানে, html_table() ফাংশনটি ওয়েব পেজের সমস্ত টেবিলের ডেটা এক্সট্র্যাক্ট করবে এবং fill = TRUE ব্যবহার করে টেবিলের খালি জায়গাগুলো পূর্ণ করবে।

২. html_node(): একটি নির্দিষ্ট উপাদান এক্সট্র্যাক্ট করা

যখন শুধুমাত্র একটি নির্দিষ্ট উপাদান থেকে ডেটা বের করতে চান, তখন html_node() ফাংশন ব্যবহার করা হয়।

# একটি নির্দিষ্ট উপাদান থেকে ডেটা বের করা
title <- web_page %>%
  html_node("title") %>%
  html_text()

print(title)

এখানে, html_node() ফাংশনটি ওয়েব পেজের <title> ট্যাগ থেকে ডেটা বের করবে।


সারাংশ

rvest প্যাকেজটি ওয়েব স্ক্র্যাপিংয়ের জন্য একটি অত্যন্ত শক্তিশালী টুল, যা ওয়েব পেজের HTML কনটেন্ট থেকে প্রয়োজনীয় ডেটা এক্সট্র্যাক্ট এবং প্রক্রিয়া করার কাজ সহজ করে তোলে। এর মাধ্যমে আপনি ওয়েব পেজের টেক্সট, লিঙ্ক, টেবিল, ছবি ইত্যাদি এক্সট্র্যাক্ট করতে পারেন। read_html(), html_nodes(), html_text(), html_attr(), এবং html_table() সহ বিভিন্ন ফাংশন ব্যবহার করে ওয়েব স্ক্র্যাপিং করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...