راهنمای استفاده از wget

wget - fedorafans.comیکی از قوی‌ترین نرم‌افزارهای مدیریت دانلود، نرم افزار 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

به‌عنوان مثال:

[[email protected] ~]$ 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 به همین تعدادی که معرفی شد ختم نمیشه اما مواردی که ذکر شد مواردی هست که فکر می‌کردم بیشتر مورد استفاده باشه.
امیدوارم که بهتون کمک کنه 🙂

16 نظرات
  1. Pumba می گوید

    مرسی هوتن جان
    یه مدتی بود می خواستم کار با این نرم افزار رو یاد بگیرم اما امان از این تبلی.
    کارم رو راحت کردی دیگه نیار به جستجو نیست D:

    1. Vampir3 می گوید

      قربونت. خداروشکر که کمک کرد بهت 😉

  2. behshad می گوید

    مرسی هوتن جان واقعا عالی بود

    1. Vampir3 می گوید

      قربونت بهشاد جون. لطف داری 🙂

  3. fel می گوید

    در مورد اون قسمتی که مربوط به دانلود سایت میشه یه اشتباه کوچولو کردین
    چون من زدم خطا داد

    $ wget –mirror -p –convert-links -P ./LOCAL-DIR website-url
    باید بشه

    $ wget mirror -p –convert-links -P ./LOCAL-DIR website-url
    اصلا منطقی هم هست
    چون که آدرس لینک دانلود که نباید جز سوییچ ها و یا آپشنها باشه که

    1. Vampir3 می گوید

      ولی من همین الان با همون کد کار کردم و مشکلی نداشتم!!!‌ 🙂

  4. mohammad می گوید

    صفحات asp رو با همون فرمت asp ذخیره می کنه در نتیجه تو کلاینت باز نمی شه

  5. abbasalim می گوید

    سلام
    چجوری باید نصبش کنم :-s

    1. Vampir3 می گوید

      سلام دوست عزیز 🙂 با دستور زیر نصبش کن:
      yum install wget

  6. babak می گوید

    سلام من هر چقدر این دستور رو میزنم چیزی دانلود نمی کنه !
    wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
    اینم ارور
    -bash: wget: command not found
    حالا میشه کسی بهم بگه مشکل از چیه ؟!

    1. hos7ein می گوید

      درود
      اول ببینید wget روی سیستم شما نصب هست :
      rpm -q wget
      اگه نصب نبود با این دستور نصب کنید :
      yum install wget

  7. Samane می گوید

    Ok

  8. […] افزودن این مخازن به فدورا این فایل رو دانلود نمایید […]

  9. mahdieh می گوید

    سلام
    ممنون
    توضیحاتتون خیلی خوب بود.
    ان شاالله که همیشه موفق باشید.

  10. رضا می گوید

    سلام تشکر از زحمات شما
    من نیاز دارم از یک سایت ftp فایلهایی را دانلود کنم برای همین چون اینترنت شبانه رایگان است وسرعت بالاتری دارد میشه دستوری نوشت که ساعت مشخص از این سایت ftp فایلهای مذکور را دانلود ودر پوشه ای کپی کند (همه این مراحل اتوماتیک انجام شود). ممنون میشم اگه راهنماییم کنید

    1. hos7ein می گوید

      درود بر شما
      بله شما می تونید دستورات مورد نظر خودتون رو توی یه فایل به عنوان bash script بنویسید و اون bash script رو به cron کنید و بازه زمانی اون رو مشخص کنید.
      پیروز باشید.
      البته نرم افزار uget هم قابلیت زمانبندی رو داره :
      http://fedorafans.com/1390/08/09/722/

      پیروز باشید

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.