ওয়েব থেকে রিসোর্স ডাউনলোড করার প্রচুর উপায় রয়েছে। আপনার ব্রাউজারের পাশাপাশি, আপনি wget-এর মতো একটি টুল ব্যবহার করতে পারেন ওয়েব থেকে রিসোর্স ডাউনলোড করার জন্য আপনি অন্য কিছু করছেন থাকতে। এই নিবন্ধে, আমরা আপনাকে ম্যাকে wget ডাউনলোড ও ব্যবহার করার পদ্ধতি দেখাব।
wget কী (এবং এটি কিসের জন্য ব্যবহৃত হয়)?
অনভিজ্ঞদের জন্য, wget একটি ওপেন-সোর্স নন-ইন্টারঅ্যাক্টিভ কমান্ড-লাইন ইউটিলিটি যা আপনাকে একটি নির্দিষ্ট URL থেকে রিসোর্স ডাউনলোড করতে সাহায্য করে। এটি নন-ইন্টারঅ্যাক্টিভ হওয়ার কারণে, wget ব্যাকগ্রাউন্ডে বা আপনি লগ ইন করার আগেও কাজ করতে পারে।
এটি GNU টিমের একটি প্রজেক্ট, এবং এটি খুব কাজে আসে যদি আপনার ইন্টারনেট কানেকশন খারাপ হয়। এর মানে এটি অন-অপ্টিমাল কন্ডিশনেও রবাস্ট।
একবার wget ইনস্টল করলে, আপনি কমান্ড রান করবেন এবং আপনার ফাইলগুলোর জন্য একটি ডেস্টিনেশন স্পেসিফাই করবেন। আমরা এখন দেখাবো কীভাবে করবেন।
ম্যাকে wget ইনস্টল করার পদ্ধতি
wget ইনস্টল করার আগে, আপনার কাছে একটি প্যাকেজ ম্যানেজার থাকতে হবে। যদিও wget macOS-এর সাথে শিপ হয় না, আপনি হোমব্রু (Homebrew) - ম্যাকের জন্য সেরা প্যাকেজ ম্যানেজার - ব্যবহার করে এটা ডাউনলোড ও ইনস্টল করতে পারেন।
১. হোমব্রু ডাউনলোড ও ইনস্টল করুন
হোমব্রু ইনস্টল করতে, প্রথমে একটি টার্মিনাল উইন্ডো খুলুন এবং নিচের কমান্ড এক্সিকিউট করুন:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
এটি macOS-এ প্রি-ইনস্টল্ড Ruby ইনস্টলেশনের মধ্যে শিপ করা ফাইলগুলো ডাউনলোড করতে curl কমান্ড ব্যবহার করে।
এন্টার চাপে কমান্ড রান করালে, ইনস্টলার আপনাকে স্পষ্টভাবে বলবে কী কী হবে।
আপনি কনফার্ম করলে, ইনস্টলার চলতে শুরু করবে।
২. কমান্ড লাইন থেকে wget ইনস্টল করুন
এরপর, আমরা হোমব্রু ব্যবহার করে wget ইনস্টল করব। টার্মিনাল থেকে আবার, রান করুন:
brew install wget
ইনস্টলার আপনাকে লাইভ প্রগ্রেস আপডেট দেবে, এবং এখানে আপনার করতে অনেক কিছু নেই। প্রসেসটি সহজ এবং অটোমেটেড। তবে, আপনার যদি ইতিমধ্যে হোমব্রু ইনস্টল করা থাকে, তবে brew update রান করুন আপনার সকল ফর্মুলার লেটেস্ট কপি পেতে।
একবার আপনার টার্মিনালে একটি নতুন প্রম্পট দেখলে, আপনি ম্যাকে wget ব্যবহার করে ওয়েব রিসোর্স ডাউনলোড করার জন্য রেডি।
wget ব্যবহার করে ওয়েব রিসোর্স ডাউনলোড করার পদ্ধতি
wget ব্যবহার করে একটি URL থেকে রিমোট রিসোর্স ডাউনলোড করতে, আপনি নিচের স্ট্রাকচার ব্যবহার করতে চাবেন:
wget -O path/to/local.copy https://example.com/url/to/download.html
এটি URL-তে স্পেসিফাইড ফাইলটিকে আপনার মেশিনে স্পেসিফাইড লোকেশনে সেভ করবে।
আপনি যদি -O "ফ্ল্যাগ" বাদ দেন, তবে আপনার ডাউনলোড লোকেশন হবে কারেন্ট ওয়ার্কিং ডিরেক্টরি।
উদাহরণস্বরূপ, আমরা একটি ওয়েবপেজ ডাউনলোড করতে চাই ডাউনলোডস ফোল্ডারে:
wget -O /Users/[your-username]/Downloads/status.html https://www.w3.org/Status.html
তবে, -O ফ্ল্যাগ ছাড়া একই কাজ করতে হলে, আমাদের ডিরেক্টরি পরিবর্তন (cd downloads) করতে হবে wget রান করার আগে:
wget /Users/[your-username]/Downloads/status.html https://www.w3.org/Status.html
আপনি ডাউনলোড প্রগ্রেসের ফুল ডিটেইল পাবেন, যদিও wget কত দ্রুত সেটি দিয়ে, এই ইনফো প্রায় রিয়েল-টাইম আপডেট নয় বরং ডাউনলোডের একটি সামারি।
রিকার্সিভ ডিরেক্টরি ডাউনলোড করার পদ্ধতি
wget দিয়ে একটি সম্পূর্ণ ডিরেক্টরি ট্রি ডাউনলোড করতে, আপনাকে -r/--recursive এবং -np/--no-parent ফ্ল্যাগগুলো ব্যবহার করতে হবে:
wget -e robots=off -r -np https://www.w3.org/History/19921103-hypertext/hypertext/
এটি wget-কে স্পেসিফাইড ডিরেক্টরির মধ্যে ডকুমেন্টসে পাওয়া যেকোনো লিংক ফলো করতে এবং স্পেসিফাইড URL পাথের সম্পূর্ণ রিকার্সিভ ডাউনলোড পারফর্ম করতে বাধ্য করবে।
এছাড়া, -e robots=off কমান্ডটি নোট করুন। এটি robots.txt ফাইলে রেস্ট্রিকশনগুলো ইগনোর করে। জেনারেলি, রোবটস.টেক্সট ডিজেবল করা একটি ভালো আইডিয়া যাতে আব্রিজড ডাউনলোড প্রিভেন্ট হয়।
wget-এর সাথে অডিশনাল ফ্ল্যাগস ব্যবহার করা
আপনি পাবেন যে wget একটি ফ্লেক্সিবল টুল, কারণ এটি অনেক অডিশনাল ফ্ল্যাগ ব্যবহার করে। আপনার ডাউনলোডের জন্য নির্দিষ্ট রিকোয়ারমেন্ট থাকলে এটি খুব কাজে আসে।
চলুন ডাউনলোড প্রসেস কন্ট্রোল করা এবং লগ তৈরি করা - এই দুটি এরিয়ায় ফোকাস করি।
wget কীভাবে রিসোর্স ডাউনলোড করবে সেটি কন্ট্রোল করা
ডাউনলোড প্রসেস সেট আপ করতে সাহায্য করার অনেক ফ্ল্যাগ রয়েছে। এখানে শুধু কয়েকটি সবচেয়ে উপযোগী:
wget -X /absolute/path/to/directoryরিমোট সার্ভারের একটি নির্দিষ্ট ডিরেক্টরি এক্সক্লুড করবে।wget -nH"হোস্টনেম" ডিরেক্টরি রিমুভ করবে। অন্য কথায়, এটি প্রাইমারি ডোমেইন নাম স্কিপ করবে। উদাহরণস্বরূপ, wget পূর্বের উদাহরণেwww.w3.orgফোল্ডার স্কিপ করেHistoryডিরেক্টরি থেকে শুরু করবে।wget --cut-dirs=#URL-এ নির্দিষ্ট সংখ্যক ডিরেক্টরি স্কিপ করে ফাইল ডাউনলোড শুরু করবে। উদাহরণস্বরূপ,-nH --cut-dirs=1স্পেসিফাইড পাথ "ftp.xemacs.org/pub/xemacs/" কে সিম্পলি "/xemacs/"-এ পরিবর্তন করবে এবং লোকাল ডাউনলোডে খালি পেরেন্ট ডিরেক্টরির সংখ্যা কমাবে।wget -R index.html/wget --reject index.htmlস্পেসিফাইড ফাইল নাম ম্যাচ করে যেসব ফাইল সেগুলো স্কিপ করবে। এই কেসে, এটি সব ইনডেক্স ফাইল এক্সক্লুড করবে। এস্টেরিস্ক (*) একটি ワイル্ডকার্ড, যেমন "*.png"। এটি PNG এক্সটেনশনवाले সকল ফাইল স্কিপ করবে।wget -i fileএকটি ইনপুট ফাইল থেকে টার্গেট URL স্পেসিফাই করবে। এই ইনপুট ফাইলটি HTML ফরম্যাটে থাকতে হবে, অথবা আপনাকে HTML পার্স করতে--force-htmlফ্ল্যাগ ব্যবহার করতে হবে।wget -nc/wget --no-clobberডেস্টিনেশনে ইতিমধ্যে এক্সিস্ট করে যেসব ফাইল সেগুলো ওভাররাইট করবে না।wget -c/wget --continueআংশিকভাবে ডাউনলোড হওয়া ফাইলগুলোর ডাউনলোড কন্টিনিউ করবে।wget -t 10রিসোর্সটি ডাউনলোড করার চেষ্টা ১০ বার করবে ফেলার আগে।
wget শুধু ডাউনলোড প্রসেস কন্ট্রোল করবে না, আপনি লগও তৈরি করতে পারবেন ভবিষ্যতের রেফারেন্সের জন্য।
লগিং লেভেল এডজাস্ট করা
আপনি নিচের ফ্ল্যাগগুলোও বিবেচনা করতে পারেন আপনি wget ব্যবহার করার সময় আউটপুট কন্ট্রোল করার একটি পারশিয়াল উপায় হিসেবে।
wget -dডিবাগিং আউটপুট এনেবল করবে।wget -o path/to/log.txtলগিং আউটপুট স্পেসিফাইড ডিরেক্টরিতে এনেবল করবে স্ট্যান্ডার্ড আউটপুটে ডিসপ্লে করার পরিবর্তে।wget -qwget-এর সকল আউটপুট অফ করবে, এরর মেসেজসহ।wget -vwget-এর ডিফল্ট ভার্বোস আউটপুট এক্সপ্লিসিটলি এনেবল করবে।wget --no-verboseলগ মেসেজ অফ করবে কিন্তু এরর মেসেজ দেখাবে।
আপনি প্রায়শই জানতে চাবেন ডাউনলোড চলাকালীন কী হচ্ছে, তাই আপনি এই ফ্ল্যাগগুলো অন্যদের চেয়ে কম ব্যবহার করতে পারেন। তবুও, আপনার যদি বড় ব্যাচ ডাউনলোড থাকে এবং আপনি নিশ্চিত হতে চান আপনি যেকোনো ইস্যু ফিক্স করতে পারেন, তবে একটি লগ বা আউটপুটের অভাব একটি বৈধ পদ্ধতি।
উপসংহার
আপনি আপনার ব্রাউজার বা অন্য GUI ব্যবহার করে ওয়েব পেজ এবং অন্যান্য রিসোর্স ডাউনলোড করতে পারেন, কিন্তু কমান্ড লাইন ব্যবহার করে আপনি সময় বাঁচাতে পারেন। wget-এর মতো একটি টুল পাওয়ারফুল - আপনার ব্রাউজার চেয়ে বেশি - এবং স্ন্যাপিও। wget-এর সম্পূর্ণ ক্যাপাবিলিটির জন্য, আপনি wget-এর GNU ম্যান পেজ রিভিউ করতে পারেন।
আপনি যদি পান যে wget আপনার জন্য কাজ করছে না, তবে হয়তো আপনার Wi-Fi কানেকশনের সমস্যা ডায়াগনোস করার টাইম। আপনি কি ম্যাকে wget ব্যবহার করে ওয়েব রিসোর্স ডাউনলোড করবেন? নিচে কমেন্ট সেকশনে আপনার মতামত শেয়ার করুন!