Web Scraping BeautifulSoup

📘 ওয়েব থেকে ডেটা সংগ্রহ।

🌐 Collect data from websites.

🏗️ বিগ ডেটা ও ডেটা ইঞ্জিনিয়ারিং🎚 Advanced📍 Part 6 / 7🧩 3 সাব-টপিক
🏗️
1

ধারণা · Concept

কী এবং কেন
📘 বাংলা ব্যাখ্যা:
ওয়েব থেকে ডেটা সংগ্রহ।
🌐 English:
Collect data from websites.

🗂 কোথায় পড়ে

৬. ইঞ্জিনিয়ারিং ও ক্যারিয়ার → বিগ ডেটা ও ডেটা ইঞ্জিনিয়ারিং → Web Scraping BeautifulSoup

🎯 এই শাখার লক্ষ্য

Build ETL pipelines, use Spark and warehouses

🧰 টুলস

Spark, Airflow, BigQuery

🪜

ধাপে ধাপে শিখুন · Step-by-step

কেন শিখবেন → কীভাবে শিখবেন → উদাহরণ → সাধারণ ভুল
💡 কেন গুরুত্বপূর্ণ?

API নেই এমন ওয়েবসাইট থেকে ডেটা সংগ্রহ।

  1. ধাপ 1
    robots.txt ও ব্যবহারের শর্ত পড়ুন
  2. ধাপ 2
    requests.get(url, headers=...) দিয়ে HTML
  3. ধাপ 3
    BeautifulSoup(html, "html.parser").select("table tr") দিয়ে প্রয়োজনীয় অংশ
  4. ধাপ 4
    JavaScript-নির্ভর পাতায় Playwright/Selenium; ধীরে (time.sleep) ও ক্যাশিংসহ

🧪 বাস্তব উদাহরণ

DGHS হাসপাতাল তালিকা পাতা থেকে নাম, জেলা, শয্যা সংখ্যা টেবিলে।

⚠️ সাধারণ ভুল

দ্রুত হাজার অনুরোধ—সার্ভারে চাপ ও IP ব্লক।

🔑 মূল শব্দ (Key terms)

web scrapingrequestsBeautifulSoupCSS selectorPlaywrightrobots.txt

3

সাব-টপিক ও বিস্তারিত · Sub-topics

টপিক → সাব-টপিক → সাব-সাব টপিক
6.1 requests দিয়ে পেজ আনা
6.2 BeautifulSoup দিয়ে পার্স
6.3 নৈতিকতা6.3.1 robots.txt ও রেট লিমিট
🎬

ভিডিও · Videos (বাংলা ও English)

ক্লিক করলে সাইটের ভেতরেই ফ্লোটিং প্লেয়ারে চলবে · ভিডিও MySQL-এ সংরক্ষিত

📺 আরও খুঁজুন

💻

হাতে-কলমে · Try it (Big Data & Data Engineering)

এডিট করে Run চাপুন · Ctrl+Enter
import pandas as pd, sqlite3, io
# Mini ETL: extract CSV -> transform -> load into a warehouse table
raw=io.StringIO("date,district,cases\n2026-01-01,Dhaka,12\n2026-01-01,Sylhet,x\n2026-01-02,Dhaka,15\n")
df=pd.read_csv(raw)                                   # Extract
df["cases"]=pd.to_numeric(df.cases,errors="coerce").fillna(0).astype(int); df["date"]=pd.to_datetime(df.date)  # Transform
con=sqlite3.connect(":memory:"); df.to_sql("fact_cases",con,index=False)   # Load
print(pd.read_sql("SELECT district, SUM(cases) total FROM fact_cases GROUP BY district",con))
❓

সেল্ফ-চেক · Self check

1. “robots.txt ও রেট লিমিট” — এটি কোন সাব-টপিকের বর্ণনা?

🔗

সংযুক্ত কনসেপ্ট · Connected concepts

← আগের টপিকNoSQL MongoDBপরের টপিক →REST APIs for Data
🎬 Video