كيفية استخدام الأوامر wget Linux لتنزيل صفحات الويب والملفات

تتيح لك الأداة المساعدة wget تنزيل صفحات الويب والملفات والصور من الويب باستخدام سطر أوامر Linux.

يمكنك استخدام أمر wget منفرد بمفرده للتنزيل من موقع أو إعداد ملف إدخال لتنزيل ملفات متعددة عبر مواقع متعددة.

وفقا للصفحة اليدوية يمكن استخدام wget حتى عندما يسجل المستخدم الخروج من النظام. للقيام بذلك ، يمكنك استخدام الأمر nohup.

ستقوم الأداة المساعدة wget بإعادة محاولة تنزيل حتى عندما ينقطع الاتصال ، وتستأنف من حيث توقفت إذا أمكن عندما يعود الاتصال.

يمكنك تنزيل مواقع ويب كاملة باستخدام wget وتحويل الروابط للإشارة إلى المصادر المحلية بحيث يمكنك عرض موقع ويب دون اتصال.

ميزات wget هي كما يلي:

كيفية تنزيل الموقع باستخدام wget

في هذا الدليل ، سأوضح لك كيفية تنزيل مدونتي الشخصية.

wget www.everydaylinuxuser.com

يجدر إنشاء مجلد خاص بك على جهازك باستخدام الأمر mkdir ثم الانتقال إلى المجلد باستخدام الأمر cd .

فمثلا:

mkdir everydaylinuxuser
cd everydaylinuxuser
wget www.everydaylinuxuser.com

والنتيجة هي ملف index.html واحد. وحده هذا الملف عديم الفائدة إلى حدٍ ما ، حيث لا يزال يتم سحب المحتوى من Google ولا تزال جميع الصور وأوراق الأنماط محفوظة على Google.

لتنزيل الموقع الكامل وجميع الصفحات ، يمكنك استخدام الأمر التالي:

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 switches.

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 في الخلفية ، فلن ترى أيًا من الرسائل العادية التي يرسلها إلى الشاشة.

يمكنك الحصول على جميع تلك الرسائل المرسلة إلى ملف سجل حتى تتمكن من التحقق من التقدم في أي وقت باستخدام الأمر tail .

لإخراج المعلومات من أمر wget إلى ملف السجل ، استخدم الأمر التالي:

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

عكس ذلك ، بالطبع ، هو عدم طلب أي تسجيل على الإطلاق وعدم وجود إخراج للشاشة. لإهمال كل المخرجات ، استخدم الأمر التالي:

wget -q www.everydaylinuxuser.com

تحميل من مواقع متعددة

يمكنك إعداد ملف إدخال للتحميل من العديد من المواقع المختلفة.

فتح ملف باستخدام محرر المفضلة لديك أو حتى الأمر القط وابدأ ببساطة قائمة المواقع أو الروابط لتحميل من على كل سطر من الملف.

احفظ الملف ثم قم بتشغيل الأمر wget التالي:

wget -i / path / to / inputfile

وبصرف النظر عن النسخ الاحتياطي لموقع الويب الخاص بك أو ربما العثور على شيء لتحميل لقراءة على القطار ، فمن غير المرجح أنك سوف تحتاج إلى تحميل موقع كامل.

من المرجح أن تقوم بتنزيل عنوان URL مفرد يحتوي على صور أو ربما تنزيل ملفات مثل ملفات zip أو ملفات ISO أو ملفات صور.

مع وضع ذلك في الاعتبار ، لا ترغب في كتابة ما يلي في ملف الإدخال حيث إنه مضيعة للوقت:

إذا كنت تعرف أن عنوان URL الأساسي سيكون دائمًا كما هو ، فيمكنك تحديد ما يلي في ملف الإدخال:

يمكنك بعد ذلك توفير عنوان 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 --random-wait -i / path / to / inputfile

حماية حدود التنزيل

لا يزال العديد من مزودي خدمة الإنترنت يطبقون حدود التنزيل لاستخدام نطاقك العريض ، خاصة إذا كنت تعيش خارج المدينة.

قد ترغب في إضافة حصص حتى لا تضغط على حد التنزيل هذا. يمكنك القيام بذلك بالطريقة التالية:

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

لاحظ أن الأمر -q لن يعمل مع ملف واحد.

لذلك إذا قمت بتنزيل ملف بحجم 2 غيغابايت ، فإن استخدام q-1000m لن يوقف تنزيل الملف.

يتم تطبيق الحصة فقط عند التنزيل المتكرر من موقع أو عند استخدام ملف الإدخال.

من خلال الحصول على الأمن

تتطلب بعض المواقع منك تسجيل الدخول لتتمكن من الوصول إلى المحتوى الذي ترغب في تنزيله.

يمكنك استخدام المفاتيح التالية لتحديد اسم المستخدم وكلمة المرور.

wget --user = yourusername --password = yourpassword

ملاحظة على نظام متعدد المستخدمين إذا قام شخص ما بتشغيل الأمر ps ، فسيكون بإمكانه رؤية اسم المستخدم وكلمة المرور الخاصين بك.

خيارات التنزيل الأخرى

بشكل افتراضي ، يقوم المحول -r بشكل متكرر بتنزيل المحتوى وسيقوم بإنشاء الدلائل أثناء انتقالها.

يمكنك الحصول على جميع الملفات لتنزيلها على مجلد واحد باستخدام المفتاح التالي:

wget -nd -r

عكس هذا هو فرض إنشاء الدلائل التي يمكن تحقيقها باستخدام الأمر التالي:

wget -x -r

كيف لتحميل بعض أنواع الملفات

إذا كنت ترغب في التنزيل بشكل متكرر من موقع ولكنك تريد فقط تنزيل نوع ملف معين مثل mp3 أو صورة مثل png ، يمكنك استخدام بناء الجملة التالي:

wget -A "* .mp3" -r

عكس هذا هو تجاهل بعض الملفات. ربما لا تريد تنزيل الملفات التنفيذية. في هذه الحالة ، سوف تستخدم بناء الجملة التالي:

wget -R "* .exe" -r

Cliget

هناك إضافة فيرفكس تسمى cliget. يمكنك إضافة هذا إلى Firefox بالطريقة التالية.

تفضل بزيارة https://addons.mozilla.org/en-US/firefox/addon/cliget/ وانقر على زر "إضافة إلى فايرفوكس".

انقر فوق زر التثبيت عندما يظهر. سوف تضطر إلى إعادة تشغيل فايرفوكس.

لاستخدام cliget قم بزيارة صفحة أو ملف ترغب في تنزيله وانقر بزر الماوس الأيمن. ستظهر قائمة السياقات باسم cliget وستكون هناك خيارات "للنسخ إلى wget" و "نسخ إلى curl".

انقر فوق الخيار "نسخ إلى wget" وافتح نافذة طرفية ثم انقر بزر الماوس الأيمن والصقها. سيتم لصق الأمر wget المناسب في النافذة.

بشكل أساسي ، هذا يوفر عليك كتابة الأمر بنفسك.

ملخص

الأمر wget كعدد ضخم من الخيارات والمفاتيح.

ومن الجدير إذن قراءة الصفحة اليدوية لـ wget بكتابة ما يلي في نافذة طرفية:

رجل wget