Big Data and Analytics R এ Web Scraping এর মাধ্যমে Data Import গাইড ও নোট

359

Web Scraping হল একটি প্রযুক্তি যা ওয়েব পেজের ডেটা সংগ্রহ করতে ব্যবহৃত হয়। আর প্রোগ্রামিংয়ে Web Scraping এর মাধ্যমে ওয়েবসাইট থেকে ডেটা আনা এবং বিশ্লেষণ করা খুবই সহজ। আর-এ ওয়েব স্ক্র্যাপিংয়ের জন্য বেশ কয়েকটি প্যাকেজ রয়েছে, যার মধ্যে সবচেয়ে জনপ্রিয় দুটি হল rvest এবং httr। এই টিউটোরিয়ালে আমরা Web Scraping এর মাধ্যমে ডেটা ইমপোর্ট করার বিভিন্ন ধাপ শিখব।


Web Scraping এর জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল এবং লোড করা

প্রথমে, ওয়েব স্ক্র্যাপিং করার জন্য প্রয়োজনীয় প্যাকেজগুলো ইনস্টল এবং লোড করতে হবে।

১. প্যাকেজ ইনস্টল করা

install.packages("rvest")
install.packages("httr")
install.packages("xml2")

২. প্যাকেজ লোড করা

library(rvest)
library(httr)
library(xml2)

Web Scraping এর প্রক্রিয়া

Web Scraping করার জন্য কয়েকটি ধাপ অনুসরণ করতে হবে। এগুলি হল:

১. ওয়েব পেজের URL পাওয়া

প্রথমে, আপনি যে ওয়েব পেজের ডেটা স্ক্র্যাপ করতে চান, তার URL জানতে হবে। উদাহরণস্বরূপ, আমরা ধরছি যে আমাদের ওয়েবসাইটের URL হল http://example.com.

২. ওয়েব পেজ থেকে HTML কোড নিয়ে আসা

rvest প্যাকেজের read_html() ফাংশন ব্যবহার করে HTML কোড নেওয়া যায়। এই HTML কোডের মধ্যে ওয়েব পেজের ডেটা থাকে, যেটি আমরা পরবর্তী পর্যায়ে স্ক্র্যাপ করব।

url <- "http://example.com"
web_page <- read_html(url)

৩. ওয়েব পেজের নির্দিষ্ট উপাদান খোঁজা

ওয়েব পেজের HTML কোড থেকে নির্দিষ্ট ডেটা বা উপাদান বের করতে html_nodes() এবং html_text() ফাংশন ব্যবহার করা হয়। আপনি ওয়েব পেজের সিএসএস সিলেক্টর ব্যবহার করে ডেটা বের করতে পারেন।

উদাহরণ:

ধরা যাক, আমরা example.com ওয়েবসাইটের প্যারাগ্রাফ (paragraph) ট্যাগের মধ্যে থাকা টেক্সট স্ক্র্যাপ করতে চাই।

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

এখানে html_nodes("p") প্যারাগ্রাফ ট্যাগগুলিকে সিলেক্ট করছে এবং html_text() ফাংশন তাদের মধ্যে থাকা টেক্সট বের করে নিচ্ছে।

৪. স্ক্র্যাপ করা ডেটা সংগ্রহ করা

এখন আপনি যে ডেটা স্ক্র্যাপ করেছেন, তা একটি ভেক্টর বা টেবিলের আকারে সংগ্রহ করতে পারেন। উদাহরণস্বরূপ, প্যারাগ্রাফের টেক্সটগুলো একটি লিস্ট আকারে সংগ্রহ করতে:

paragraphs

এটি সব প্যারাগ্রাফের টেক্সট দেখাবে।


টেবিল ডেটা স্ক্র্যাপ করা

আর প্রোগ্রামিংয়ে ওয়েব পেজ থেকে টেবিল ডেটা স্ক্র্যাপ করা খুবই সহজ। html_table() ফাংশন ব্যবহার করে ওয়েব পেজের টেবিল ডেটা সহজে সংগ্রহ করা যায়।

উদাহরণ:

ধরা যাক, একটি ওয়েব পেজে একটি টেবিল রয়েছে এবং আপনি সেটি স্ক্র্যাপ করতে চান:

url <- "http://example.com/table"
web_page <- read_html(url)

# ওয়েব পেজের টেবিলটি স্ক্র্যাপ করা
table_data <- web_page %>% html_nodes("table") %>% html_table()

# প্রথম টেবিলটি দেখতে
table_data[[1]]

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


Web Scraping এ সাবধানতা

১. ওয়েবসাইটের নীতি মেনে চলা

ওয়েব স্ক্র্যাপিংয়ের আগে ওয়েবসাইটের robots.txt ফাইল চেক করুন, যা ওয়েবসাইটের ডেটা স্ক্র্যাপিংয়ের নীতি নির্দেশ করে। ওয়েবসাইটের অনুমতি ছাড়া স্ক্র্যাপিং করা অশোভন হতে পারে।

২. ওভারলোড এড়ানো

ওয়েব সার্ভারকে অতিরিক্ত লোড দেওয়া এড়াতে স্লো স্পিডে স্ক্র্যাপিং করুন। আপনি প্রতিটি রিকোয়েস্টের মাঝে বিরতি (sleep) দিতে পারেন, যেমন:

Sys.sleep(1)  # 1 সেকেন্ড বিরতি

৩. ডেটা ফরম্যাটিং এবং পরিস্কার করা

স্ক্র্যাপ করা ডেটা সাধারণত পরিষ্কার এবং প্রক্রিয়া করতে হয়। এক্ষেত্রে tidyverse প্যাকেজের ফাংশনগুলি যেমন dplyr বা tidyr ব্যবহার করতে পারেন ডেটা ম্যানিপুলেশন ও ক্লিনিংয়ের জন্য।


সারাংশ

আর প্রোগ্রামিংয়ের মাধ্যমে ওয়েব স্ক্র্যাপিং একটি কার্যকরী পদ্ধতি, যা বিভিন্ন ওয়েবসাইট থেকে ডেটা সংগ্রহ করতে ব্যবহৃত হয়। rvest এবং httr প্যাকেজ ব্যবহার করে HTML কোড থেকে প্রয়োজনীয় ডেটা স্ক্র্যাপ করা যায়। ওয়েব পেজের নির্দিষ্ট উপাদান, যেমন প্যারাগ্রাফ, টেবিল ইত্যাদি স্ক্র্যাপ করতে পারেন এবং সেই ডেটা ডেটা ফ্রেমে সংরক্ষণ করতে পারেন। ওয়েব স্ক্র্যাপিংয়ের সময় ওয়েবসাইটের নিয়ম-নীতি অনুসরণ করা অত্যন্ত গুরুত্বপূর্ণ।

Content added By
Promotion

Are you sure to start over?

Loading...