یکی از قویترین نرمافزارهای مدیریت دانلود، نرم افزار wget هست که در خط فرمان عمل میکنه و امکاناتو سرعت نسبتا خوبی داره. تو این مطلب قصد دارم نحوهی کار با این نرمافزار رو با هم مرور کنیم. (لازم به ذکر که GWget محیط گرافیکیای هست که از wget استفاده میکنه)
دانلود یک فایل
شکل کلی دستور دانلود بصورت زیر هست:
wget download-link
بهعنوان مثال :
wget http://dl.fedorafans.com/autoplus-1.4-3.src.rpm
در زیر خروجی دستور بالا رو مشاهده میکنید:
--2012-04-02 22:12:18-- http://dl.fedorafans.com/autoplus-1.4-3.src.rpm Resolving dl.fedorafans.com... 173.245.60.46, 173.245.60.125 Connecting to dl.fedorafans.com|173.245.60.46|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 26410 (26K) [application/x-wais-source] Saving to: “autoplus-1.4-3.src.rpm” 100%[=============================>] 26,410 47.4K/s in 0.5s 2012-04-02 22:12:20 (47.4 KB/s) - “autoplus-1.4-3.src.rpm” saved [26410/26410]
دانلود و دخیره با نام متفاوت
نام فایلهای دانلود شده در حالت پیشفرض در wget ، تمامی کاراکترهای پس از آخرین خطمورب هست. اما اگه دوست دارید با نام دیگهای فایل رو ذخیره کنید از دستور زیر استفاده میکنیم:
wget -O Name download-link
بهعنوان مثال:
[Vampir3@Vampir3-Laptop ~]$ wget -O fedorafans http://dl.fedorafans.com/autoplus-1.4-3.src.rpm --2012-04-02 23:12:10-- http://dl.fedorafans.com/autoplus-1.4-3.src.rpm Resolving dl.fedorafans.com... 173.245.60.125, 173.245.60.46 Connecting to dl.fedorafans.com|173.245.60.125|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 26410 (26K) [application/x-wais-source] Saving to: “fedorafans” 100%[===========================================>] 26,410 32.3K/s in 0.8s 2012-04-02 23:12:52 (32.3 KB/s) - “fedorafans” saved [26410/26410]
که در این خروجی همونطور که شاهد هستین فایل مورد نظر با نام fedorafans ذخیره شد.
تعیین حداکثر حجم دریافت
در حالت عادی wget سعی میکنه تا با حداکثر ممکن حجم پهنای باند یک فایل رو دانلود کنه. این عمل در صورتی که فعالیت دیگهای در اینترنت نداشته باشید بسیار خوبه اما وقتی در هنگام دانلود به کار با اینترنت احتیاج داشته باشید ممکنه که به مشکل برخورد کنید که برای حل این مشکل میتونید با استفاده از دستور زیر برای دانلود محدودیت قرار دهید. حالت کلی دستور به این صورت هست:
$ wget --limit-rate=???k download-link
در این دستور بجای ؟؟؟ میزان سرعت مورد نظر خود را وارد کنید.
بازگشت دانلود نیمهکاره
برای بازگشت به ادامهی یک دانلود نیمه تمام باید از سوییچ c استفاده کرد که شکل کلی دستور رو در زیر مشاهده میکنید:
$ wget -c download-link
دانلود همزمان چند فایل
برای اینکه چند فایل رو همزمان دانلود کنید، قبل از هر چیز باید یک لیست از لینکهای دانلود خود مانند زیر درست کنید:
download-link-1 download-link-2 download-link-3 download-link-4 . .
بعد از ساخت فایل متنی مورد نظر با دستور زیر اقدام به دانلود فایلها میکنیم:
wget -i my-list.txt
در این دستور نام فایل متنی موردنظر my-list.txt فرض شده
دانلود از سرور FTP
برای دانلود از سرورهای FTP در حالت کلی از دستور زیر استفاده میشه:
$ wget ftp-url
اما اگر برای دریافت به نامکاربری و رمزعبور احتیاج داشته باشید از دستور زیر استفاده میشه :
$ wget --ftp-user=UN --ftp-password=PW DOWNLOAD-URL
که در دستور بالا بهجای UN نام کاربری و بهجای PW رمز عبور قرار میگیره.
دانلود یک سایت
هرچند تا حالا مورد استفادهای برای من نداشته 😉 اما در هر صورت افراد زیادی هستند که یک صفحه از سایت و یا کل سایت رو دانلود میکنن. wget امکانات خوبی رو برای دانلود کامل یک سایت در اختیارمون قرار میده. دستور کلی برای دانلود کامل یک سایت بهصورت زیر هست:
$ wget --mirror -p --convert-links -P ./LOCAL-DIR website-url
همانطور هم که مشخص هست در این دستور چند سوئیچ وجود داره که در زیر مرور میکنیم برای چه منظور استفاده میشه:
mirror– برای فعال کردن امکان جابجایی بین سرور آینه
p- دانلود تمامی فایل های لازم برای نمایش یک صفحه HTML
convert-links- بعد از دانلود لینکهای اسناد رو برای نمایش در سیستم به حالت لوکال در میآورد
P ./LOCAL-DIR- دانلود تمامی فایلها و شاخهها در شاخهی مشخص شده
علاوه بر سوئیچ هایی که در بالا ذکر شد، برای دانلود یک سایت سوئیچهای کاربردی دیگری وجود دارد که مهمترین آنها عبارتند از:
reject– : فرض کنید که از مطالب یک وبسایت خوشتون اومده اما به فایل های jpg اون سایت احتیاج ندارید. در این صورت از این سوئیچ استفاده میشه:
$ wget --reject=jpg website-url
r -A- : این سوئیج عملکردی برعکس با سوئیچ بالا داره. به عنوان مثال شما بعد از مشاهده یک وبسایت فقط قصد دانلود تمامی فایل های PDF موجود در اون رو دارید:
$ wget -r -A.pdf website-url
سوئیچ های مورد استفاده در wget به همین تعدادی که معرفی شد ختم نمیشه اما مواردی که ذکر شد مواردی هست که فکر میکردم بیشتر مورد استفاده باشه.
امیدوارم که بهتون کمک کنه 🙂
مرسی هوتن جان
یه مدتی بود می خواستم کار با این نرم افزار رو یاد بگیرم اما امان از این تبلی.
کارم رو راحت کردی دیگه نیار به جستجو نیست D:
قربونت. خداروشکر که کمک کرد بهت 😉
مرسی هوتن جان واقعا عالی بود
قربونت بهشاد جون. لطف داری 🙂
در مورد اون قسمتی که مربوط به دانلود سایت میشه یه اشتباه کوچولو کردین
چون من زدم خطا داد
$ wget –mirror -p –convert-links -P ./LOCAL-DIR website-url
باید بشه
$ wget mirror -p –convert-links -P ./LOCAL-DIR website-url
اصلا منطقی هم هست
چون که آدرس لینک دانلود که نباید جز سوییچ ها و یا آپشنها باشه که
ولی من همین الان با همون کد کار کردم و مشکلی نداشتم!!! 🙂
صفحات asp رو با همون فرمت asp ذخیره می کنه در نتیجه تو کلاینت باز نمی شه
سلام
چجوری باید نصبش کنم :-s
سلام دوست عزیز 🙂 با دستور زیر نصبش کن:
yum install wget
سلام من هر چقدر این دستور رو میزنم چیزی دانلود نمی کنه !
wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
اینم ارور
-bash: wget: command not found
حالا میشه کسی بهم بگه مشکل از چیه ؟!
درود
اول ببینید wget روی سیستم شما نصب هست :
rpm -q wget
اگه نصب نبود با این دستور نصب کنید :
yum install wget
Ok
[…] افزودن این مخازن به فدورا این فایل رو دانلود نمایید […]
سلام
ممنون
توضیحاتتون خیلی خوب بود.
ان شاالله که همیشه موفق باشید.
سلام تشکر از زحمات شما
من نیاز دارم از یک سایت ftp فایلهایی را دانلود کنم برای همین چون اینترنت شبانه رایگان است وسرعت بالاتری دارد میشه دستوری نوشت که ساعت مشخص از این سایت ftp فایلهای مذکور را دانلود ودر پوشه ای کپی کند (همه این مراحل اتوماتیک انجام شود). ممنون میشم اگه راهنماییم کنید
درود بر شما
بله شما می تونید دستورات مورد نظر خودتون رو توی یه فایل به عنوان bash script بنویسید و اون bash script رو به cron کنید و بازه زمانی اون رو مشخص کنید.
پیروز باشید.
البته نرم افزار uget هم قابلیت زمانبندی رو داره :
http://fedorafans.com/1390/08/09/722/
پیروز باشید