EQVPS

Web scraping-এর জন্য VPS: সেটআপ, sizing, ও সৎ সীমা

Jul 6, 2026 · 4 min read · EQVPS Team

আপনার ল্যাপটপে একটি scraper ঠিক যতক্ষণ না আপনি এটি একটি run-এর মাঝপথে বন্ধ করেন, আপনার বাড়ির IP rate-limit হয়, বা আপনি চান একই job প্রতি ঘণ্টায় চলুক আপনি জেগে থাকুন বা না। এটিকে একটি VPS-এ সরানো তিনটিই ঠিক করে: এটি 24/7 চালু থাকে, এটি আপনার বাড়ির IP-র reputation পোড়ায় না, ও cron বা একটি systemd timer এটিকে সময়সূচিতে আপনি ছাড়া চালায়। এই যে সেটআপ কীভাবে করবেন, আপনার আসলে কত সার্ভার দরকার, ও যে অংশগুলো বেশিরভাগ গাইড নীরবে এড়িয়ে যায়।

এর জন্য একটি VPS কেন আপনার মেশিনকে হারায়

stack, ও প্রতিটি অংশের কী দরকার

দুটি খুব ভিন্ন ওজন-শ্রেণি, আর ভুল প্ল্যান বাছা টাকা নষ্ট করে বা job অভুক্ত করে:

মোদ্দা নিয়ম: আপনার কোড প্রায় কখনও bottleneck নয় — Chromium। scraper নয়, browser-এর জন্য size করুন।

Scheduling: cron-এর চেয়ে systemd timer

cron চলে, কিন্তু আপনি যে সার্ভার maintain করেন তাতে একটি systemd timer ভালো ডিফল্ট: journalctl-এর মাধ্যমে log, বক্স down থাকলে catch-up, ও পরিদর্শন-যোগ্য per-run status। একটি ন্যূনতম সেটআপ:

# /etc/systemd/system/scrape.service
[Unit]
Description=Run scraper
[Service]
Type=oneshot
User=scraper
WorkingDirectory=/home/scraper/job
ExecStart=/home/scraper/job/venv/bin/python scrape.py
# /etc/systemd/system/scrape.timer
[Unit]
Description=Hourly scrape
[Timer]
OnCalendar=hourly
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable --now scrape.timer
journalctl -u scrape.service -f   # run দেখুন

Persistent=true সেই অংশ যা cron পারে না: run-সময়ে সার্ভার বন্ধ থাকলে, job নীরবে এড়িয়ে যাওয়ার বদলে boot-এ একবার fire করে।

ফলাফল কোথায় যায়

এটি সরল রাখুন ও ভলিউমের সাথে মেলান: আপনি query করবেন এমন structured ডেটার জন্য SQLite (একটি ফাইল, শূন্য সেটআপ), দ্রুত tabular dump-এর জন্য CSV, বা ফলাফল বক্স ছাড়িয়ে গেলে বা আপনি এদের off-server চাইলে একটি S3-সঙ্গতিপূর্ণ object store। আপনার log ঘোরান (logrotate বা journald সীমা) যাতে একটি বকবকে scraper ধীরে ডিস্ক না-ভরে।

সৎ অংশ: egress IP ও reputation

এই যে বিবরণ যা ঠিক করে আপনার scraper এক সপ্তাহ কাজ করে নাকি প্রথম দিনে block হয়।

একটি NAT প্ল্যানে, outbound ট্র্যাফিক অন্য গ্রাহকদের সাথে একটি egress IP শেয়ার করে। সেই IP-র reputation শেয়ার করা — একই লক্ষ্যে scrape করা একজন প্রতিবেশী আপনি একটি request পাঠানোর আগেই ঠিকানা rate-limit করাতে পারে। হালকা, মাঝেমধ্যে scraping-এর জন্য ঠিক; ভলিউমে একটি দায়।

একটি dedicated IP আপনাকে নিজের egress reputation দেয় — আর কারো আচরণ এটিকে প্রভাবিত করে না। কিন্তু এটি দুই দিকে কাটে: আক্রমণাত্মক scraping আপনার নিজের পরিচ্ছন্ন IP পোড়ায়, আর একবার একটি লক্ষ্য এটি block করলে, এটি block। একটি dedicated IP নিয়ন্ত্রণ, অনাক্রম্যতা নয়।

আসল স্কেলে, আপনার বাইরের proxy pool দরকার। কোনো একক IP — shared বা dedicated — অনেক ঠিকানায় লোড ছড়াতে পারে না, যা IP-rate-limited লক্ষ্যের বিরুদ্ধে গুরুতর scraping-এর দরকার। Proxy একটি generic, তৃতীয়-পক্ষের স্তর যা আপনি উপরে যোগ করেন; VPS scraper চালায়, proxy pool ঠিকানা দেয়। একটি সার্ভার IP-কে একটি proxy pool-এর কাজ করার আশা করবেন না।

নীতি ও AUP — ঐচ্ছিক নয়

Scraping একটি আইনি ও নৈতিক ধূসর অঞ্চলে থাকে, তাই স্পষ্ট-দৃষ্টি রাখুন:

শেষ কথা

একটি VPS একটি scraper-এর সঠিক ঘর: সবসময়-চালু, নির্ধারিত, ও আপনার বাড়ির IP-র বাইরে। stack-এর সাথে প্ল্যান মেলান — httpx-এর জন্য $3 Nano, Playwright-এর জন্য $5 Micro থেকে $8 Small — একটি systemd timer দিয়ে schedule করুন, ও IP নিয়ে সৎ হন: shared egress reputation শেয়ার করে, একটি dedicated IP আপনার গড়ার বা পোড়ানোর, আর আসল স্কেল মানে proxy pool। আগে new-VPS security checklist দিয়ে বক্স লক করুন, VPS sizing গাইড দিয়ে এটি সঠিক size করুন, আর কার্ড-ছাড়া-পরিশোধ প্রাইভেসি গুরুত্বপূর্ণ হলে, anonymous VPS বিশ্লেষণ সৎ সংস্করণ। দায়িত্বশীলভাবে scrape করুন — AUP আসল।


Scrape করতে প্রস্তুত? একটি Micro প্ল্যান একটি মজবুত শুরু; বড় concurrent crawl Small-এ ভালো করে।

FAQ

Web scraping-এর জন্য আমার কী VPS spec দরকার?

stack-এর ওপর নির্ভর। একটি সাধারণ HTTP scraper (httpx/requests API বা static HTML-এ আঘাত) হালকা — 1 GB সহ একটি $3 Nano যথেষ্ট। যে মুহূর্তে JavaScript-ভারী সাইটের জন্য একটি আসল browser লাগে, headless Chromium সহ Playwright 2–4 GB চায়: এক বা দুটি browser context-এর জন্য একটি $5 Micro, কয়েকটি parallel চালালে একটি $8 Small। Chromium-ই RAM-খাদক, আপনার কোড নয়।

সার্ভারের নিজের IP থেকে scrape করতে পারি, নাকি proxy দরকার?

কম-ভলিউম, ভদ্র scraping-এর জন্য অনুমতি-দেওয়া সাইটের, সার্ভারের IP ঠিক। স্কেলে, বা IP অনুযায়ী rate-limit করা সাইটের বিরুদ্ধে, আপনার একটি বাইরের proxy pool দরকার — একটি IP (shared বা dedicated) লোড ছড়াতে পারে না, আর একটি একক ঠিকানা থেকে হাতুড়ি মারলে এটি দ্রুত block হয়। একটি dedicated IP আপনাকে নিয়ন্ত্রণ করা একটি পরিচ্ছন্ন reputation দেয়; proxy আপনাকে অনেকগুলো দেয়।

নির্ধারিত scrape-এর জন্য cron নাকি systemd timer?

প্রায় প্রতি ক্ষেত্রে একটি systemd timer। cron-এর বিপরীতে এটি আপনাকে journalctl-এর মাধ্যমে সঠিক logging, dependency-ক্রম, বক্স down থাকলে স্বয়ংক্রিয় catch-up, ও পরিদর্শন-যোগ্য per-run status দেয়। খুব-সরল job-এর জন্য cron তবুও চলে, কিন্তু আপনি যে সার্ভার আসলে maintain করেন তাতে একটি timer ভালো ডিফল্ট।

VPS-এ কি web scraping অনুমোদিত?

আইনি, সম্মানজনক scraping — হ্যাঁ। rate limit বা robots.txt উপেক্ষা করা আক্রমণাত্মক scraping, বা একটি লক্ষ্যকে একটি denial of service-এ হাতুড়ি মারা, একটি acceptable-use লঙ্ঘন ও সার্ভিস terminate করায়। যা অনুমোদিত তা scrape করুন, নিজেকে throttle করুন, ও একটি scraper-কে একটি আক্রমণে পরিণত করবেন না।

← Back to blogSee plans & pricing →

মন্তব্য

এখনো কোনো মন্তব্য নেই। প্রথম হোন।

একটি মন্তব্য দিন

মন্তব্য প্রকাশের আগে মডারেট করা হয়।