نحوه استفاده از دستور wget لینوکس برای دانلود صفحات وب و فایل ها

ابزار wget به شما امکان می دهد صفحات وب، فایل ها و تصاویر را از طریق وب با استفاده از خط فرمان لینوکس بارگیری کنید.

شما می توانید فرمان wget خود را به صورت خود برای دانلود از یک سایت یا تنظیم یک فایل ورودی برای دانلود چندین فایل در چندین سایت استفاده کنید.

با توجه به صفحه دستی، می توانید wget را حتی زمانی که کاربر از سیستم خارج شده است استفاده کند. برای این کار از دستور nohup استفاده می کنید.

ابزار wget بارگیری دوباره را حتی زمانی که اتصال قطع می شود، دوباره شروع می کند از آنجا که ممکن است زمانی که اتصال باز می شود، قطع شود.

شما می توانید کل وب سایت ها را با استفاده از wget دانلود کنید و لینک ها را به منابع محلی اشاره کنید تا بتوانید یک وب سایت را به صورت آفلاین مشاهده کنید.

ویژگی های wget به شرح زیر است:

نحوه دانلود وب سایت با استفاده از wget

برای این راهنما، من به شما نشان خواهم داد که چگونه وبلاگ شخصی من را دانلود کنید.

wget www.everydaylinuxuser.com

ارزش ایجاد پوشه خود را بر روی دستگاه خود با استفاده از دستور mkdir و سپس با استفاده از دستور cd به پوشه انتقال دهید.

مثلا:

mkdir everydaylinuxuser
cd everydaylinuxuser
wget www.everydaylinuxuser.com

نتیجه یک فایل index.html است. به طور خودكار، این فایل نسبتا بی فایده است زیرا محتوا هنوز از گوگل گرفته شده است و تصاویر و شیوه ها هنوز در گوگل نگهداری می شوند.

برای دانلود تمام سایت و تمام صفحات شما می توانید از دستور زیر استفاده کنید:

wget -r www.everydaylinuxuser.com

این صفحات به طور مجدد به حداکثر 5 سطح عمیق می رسد.

5 سطح عمیق ممکن است به اندازه کافی برای دریافت همه چیز از سایت نیست. شما می توانید از کلید -l برای تنظیم تعداد سطوحی که می خواهید به عنوان زیر استفاده کنید استفاده کنید:

wget -r -l10 www.everydaylinuxuser.com

اگر شما می خواهید بازگشت بی نهایت شما می توانید از موارد زیر استفاده کنید:

wget -r -l inf www.everydaylinuxuser.com

شما همچنین می توانید inf را با 0 عوض کنید که به همین معنی است.

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

شما می توانید با استفاده از کلید -k که تمام لینک ها در صفحات را به سمت معادلهای محلی به صورت زیر دانلود کنید، به این مشکل برسید:

wget -r -k www.everydaylinuxuser.com

اگر میخواهید آینه کامل یک وبسایت را بدست آورید، می توانید به سادگی از کلید زیر استفاده کنید که ضرورت استفاده از سوئیچ های -r -k و -l را از دست می دهد.

wget-m www.everydaylinuxuser.com

بنابراین اگر شما وب سایت خود دارید، می توانید نسخه پشتیبان کامل را با استفاده از این یک فرمان ساده ایجاد کنید.

اجرای wget به عنوان فرماندهی پسزمینه

شما می توانید wget را به عنوان یک فرمان پس زمینه اجرا کنید و به شما این امکان را می دهد که با استفاده از کار خود در پنجره ترمینال در حالی که فایل ها را دانلود می کنید.

به سادگی از دستور زیر استفاده کنید:

wget -b www.everydaylinuxuser.com

البته می توانید سوئیچ ها را ترکیب کنید. برای اجرای دستور wget در پس زمینه در حالی که آینه سازی سایت شما از دستور زیر استفاده می کنید:

wget-b-m www.everydaylinuxuser.com

شما می توانید این را به صورت زیر ساده تر کنید:

wget-bm www.everydaylinuxuser.com

ثبت نام

اگر شما در حال اجرا فرمان wget در پس زمینه هستید، هیچ پیام معمولی ای را که روی صفحه نمایش می فرستد را نمی بینید.

شما می توانید تمامی این پیام ها را به یک فایل ورودی ارسال کنید تا بتوانید با استفاده از دستور دم در هر زمان با پیشرفت خود چک کنید.

برای خروج اطلاعات از دستور wget به یک فایل ورودی از دستور زیر استفاده کنید:

wget -o / path / to / mylogfile www.everydaylinuxuser.com

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

wget-q www.everydaylinuxuser.com

دانلود از چندین سایت

شما می توانید یک فایل ورودی را برای دانلود از بسیاری از سایت های مختلف تنظیم کنید.

فایل را با استفاده از ویرایشگر مورد علاقه خود و یا حتی دستور گربه باز کنید و به سادگی فهرست سایت ها یا لینک ها را برای دانلود در هر خط فایل شروع کنید.

فایل را ذخیره کنید و سپس دستور wget زیر را اجرا کنید:

wget -i / path / to / inputfile

به غیر از تهیه پشتیبان از وب سایت خود و یا پیدا کردن چیزی برای دانلود برای خواندن در قطار، بعید است که شما می خواهید یک کل وب سایت را دانلود کنید.

بیشتر احتمال دارد یک URL با تصاویر را دانلود کنید یا شاید فایلهای دانلود شده مانند فایلهای زیپ، فایلهای ISO یا فایلهای تصویری را دانلود کنید.

با توجه به این که شما نمی خواهید مجبور به تایپ زیر در فایل ورودی به عنوان وقت گیر:

اگر می دانید URL اصلی همیشه همانند شما می توانید فقط در فایل ورودی مشخص کنید:

پس از آن شما می توانید آدرس پایه را به عنوان بخشی از دستور wget به شرح زیر ارائه کنید:

wget -B http://www.myfileserver.com -i / path / to / inputfile

گزینه های دوباره امتحان کنید

اگر شما صف یک فایل را برای دانلود در یک فایل ورودی تنظیم کرده اید و رایانه خود را تمام شب را برای دانلود فایل ها به حالت عادی می برید، زمانی که صبح به پایین می روید برای پیدا کردن آن در اولین فایل گیر کرده اید دوباره تمام شب را بیدار کرده است

شما می توانید تعداد تکرارها را با استفاده از سوئیچ زیر مشخص کنید:

wget -t 10 -i / path / to / inputfile

شما ممکن است بخواهید از فرمان بالا در ارتباط با کلید -T استفاده کنید که به شما اجازه می دهد تا زمانیکه ثانیه ها را به صورت زیر تعیین کنید:

wget -t 10 -T 10 -i / path / to / inputfile

فرمان فوق 10 بار تکرار خواهد شد و سعی خواهد کرد تا 10 ثانیه برای هر لینک در فایل متصل شود.

این نیز کاملا مزاحم است که شما تا حدودی 75٪ از یک فایل 4 گیگابایت را در یک اتصال پهنای باند آهسته تنها برای اتصال خود به خروج دانلود کنید.

شما می توانید از wget برای دوباره تلاش از جایی که آن را با استفاده از دستور زیر متوقف کردید استفاده کنید:

wget -c www.myfileserver.com/file1.zip

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

شما می توانید مدت انتظار را مشخص کنید که مشخص می کند چه مدت از بین هر بازیابی صبر کنید به شرح زیر است:

wget -w 60 -i / path / to / inputfile

دستور بالا 60 ثانیه بین هر دانلود منتظر می ماند این مفید است اگر شما در حال دانلود تعداد زیادی از فایل ها از یک منبع منحصر به فرد.

برخی از میزبان های وب ممکن است فرکانس را مشخص کنند و به هر حال شما را مسدود می کنند. شما می توانید تصدیق کنید که زمان صبر کنید تا به نظر برسد که از یک برنامه به صورت زیر استفاده نمی کنید:

wget --andom-wait -i / path / to / inputfile

حفاظت از محدودیت های دانلود

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

شما ممکن است بخواهید یک سهمیه را اضافه کنید تا حد مجاز را از بین ببرید. شما می توانید این کار را به روش زیر انجام دهید:

wget -q 100m -i / path / to / inputfile

توجه داشته باشید که دستور -q با یک فایل کار نمی کند.

بنابراین اگر فایل 2 گیگابایت را دانلود کنید، با استفاده از q 1000m فایل دانلود را متوقف نخواهد کرد.

این سهمیه فقط زمانی استفاده می شود که بطور بازگشتی از یک سایت یا هنگام استفاده از یک فایل ورودی دانلود شود.

گرفتن از طریق امنیت

بعضی از سایت ها نیاز به ورود به سیستم برای دسترسی به محتویاتی که می خواهید برای دانلود استفاده کنید.

برای تعیین نام کاربری و رمز عبور می توانید از کلید های زیر استفاده کنید.

wget --user = yourusername - password = password شما

توجه داشته باشید در سیستم چند کاربره اگر کسی دستور ps را اجرا کند، می تواند نام کاربری و رمز عبور خود را ببیند.

گزینه های دیگر دانلود

به طور پیش فرض، کلید -r به صورت بازگشتی محتوای را دانلود می کند و دایرکتوری ها را همانطور که می رود، ایجاد می کند.

شما می توانید تمام فایل ها را برای دانلود به یک پوشه با استفاده از سوئیچ زیر دریافت کنید:

wget -nd -r

مخالف این امر، ایجاد دایرکتوری است که می تواند با استفاده از دستور زیر به دست آید:

wget -x -r

چگونه برای دانلود انواع خاصی از فایل

اگر می خواهید به طور بازگشتی از یک سایت دانلود کنید اما فقط می خواهید یک نوع فایل خاص مانند یک mp3 یا یک تصویر مانند یک png را دانلود کنید، می توانید از نحو زیر استفاده کنید:

wget -A "* .mp3" -r

معکوس این است که فایل های خاصی را نادیده بگیریم. شاید شما نمی خواهید فایلهای قابل اجرا را دانلود کنید. در این مورد، شما از نحو زیر استفاده می کنید:

wget -R "* .exe" -r

کلم بروکلی

یک افزودنی فایرفاکس به نام cliget وجود دارد. شما می توانید این را به فایرفاکس به روش زیر اضافه کنید.

از https://addons.mozilla.org/en-US/firefox/addon/cliget/ دیدن کنید و روی دکمه "افزودن به فایرفاکس" کلیک کنید.

هنگامی که ظاهر می شود، روی دکمه نصب کلیک کنید. لازم است فایرفاکس را دوباره راه اندازی کنید.

برای استفاده از cliget، یک صفحه یا فایل مورد نظر را دانلود کنید و کلیک راست کنید. یک منوی متنی به نام cliget ظاهر می شود و گزینه هایی برای «کپی به wget» و «copy to curl» وجود دارد.

بر روی گزینه "copy to wget" کلیک کنید و یک پنجره ترمینال را باز کنید و سپس روی آن کلیک راست کرده و بر روی آن کلیک کنید. دستور wget مناسب به پنجره وارد می شود.

اساسا، این موجب صرفه جویی در مصرف شما می شود که باید دستور خود را تایپ کنید.

خلاصه

فرمان wget به عنوان تعداد زیادی از گزینه ها و سوئیچ ها.

به این ترتیب، صفحه راهنمای دستی wget را با تایپ کردن زیر در یک پنجره ترمینال، ارزش گذاری می کنید:

مرد wget