3

سحب وتنزيل موقع باستخدام الأمر wget

السّلام عليكم وأهلا بكم في تدوينة أشرح من خلالها الأمر wget واستخدامه خصوصا لسحب مواقع وتصفحها محليا دون الحاجة للاتصال بالشبكة.

تقديم

Wget هي أداة – أمر – متوفرة على أنظمة GNU/Linux لتنزيل الملفات من الويب تدعم ابروتوكولات HTTP، HTTPS، و FTP. كما أن بإمكانها إيجاد وتنزيل ملفات عبر وسيط (بروكسي) HTTP .

من الميزات المهمة التي تُوفرها هذه الأداة:

  • استكمال التنزيل إذا كان الخادم يدعم ذلك.
  • مصممة لتتكيف مع الاتصالات الضعيفة وغير الثابتة، ففي حالة فشل التنزيل بسبب مشكلة في الاتصال، فإنها تستمر في إعادة المحاولة حتى اكتمال التنزيل.
  • تتبع روابط صفحات HTML ، XHTML و CSS لإنشاء نسخة محلية يمكن تصفحها دون الحاجة للاتصال بالشبكة. (أو ما يعرف بالتنزيل التكراري – Recursive Download – حيث لا يقتصر الأمر على تنزيل ملف صفحة ويب فقط بل كل الملفات التي تشير إليها هذه الصفحة، مثل الصور والسكريبتات، من أجل عرضها كما لو كنتَ تتصفح موقع ويب).

استعمال الأداة

ينفذ الأمر wget بالطريقة التالية

wget [option] … [URL]...

حيث

  • option تمثل خيار أو خيارات الأمر.
  • URL رابط أو روابط التّنزيل (يمكن أيضا كما سنرى استبدال رابط التّنزيل بملف يحوي مجموعة من الروابط لتنزيل الملفات التي تشير إليها تلك الراوبط).
  • عادة الأقواس المعكوفة مستخدمة بكثرة خصوصا في مجتمع لينكس للإشارة إلى أنه ليس ضروريًا إعطاءُ كل الخيارات،

سنتطرق في الفقرات التالية لأهم خيار ات الأمر wget إذ ليس بالإمكان عرضها كلها. لمعرفة المزيد من الخيارات يمكن ذلك عن طريق مطالعة دليل لينكس عبر إدخال الأمر man wget في الطرفية أو عن طريق مطالعة هذه الصفحة (اللغة الانجليزية هي المستخدمة في كلتا الحالتين).

أهم خيارات الأمر wget

تتوفر الخيارات بنسختين (كمعظم الخيارات في أوامر لينكس)، طويلة وضعتُها بين قوسين (الخيارات الطويلة تكون مسبوقة بشرطتين) و قصيرة. استخدام أي من النسختين ينتج عنه نفس المفعول.

الخيار r- ( أو recursive–) : تفعيل تتبع الروابط.

عند استخدام هذا الخيار فإن الأمر يتتبع الروابط حتى المستوى المنصوص عليه في الإعدادات الافتراضية (وهو المستوى الخامس) ابتداءً من رابط الصفحة المعطى في الأمر.

لشرح ما أعنيه بالمستوى، دعوني آخذ المثال التالي:
تحوي هذه المدوَّنة صفحة باسم “أوامر لينكس” يمكن الوصول إليها عبر الصفحة “الرئيسية“. بناءً عليه فإن الصفحة “أوامر لينكس” توجد في المستوى الثّانيّ بالنسبة للصفحة الرئيسية “الرئيسية (المستوى الأول) >> أوامر لينكس (الثّانيّ)” . يمكن استخدام الخيار l- (أو level– ) لتحديد المستوى الذي يصل إليه التنزيل.

مثال: الأمر التالي يُمزِّل جميع الملفات الموجودة في هذه المدونة حتى المستوى الثّالث (الخيّار l3- أو level=3– )

wget -r -l3 www.eyil.info

الخيار k- ( أو convert-links– ) : التّحويل إلى روابط محلية

من الخيارات المهمّة جدًا، إذ يُحوِّل الروابط الموجودة في صفحة ويب لروابط محليّة تمكِّن من تصفح الموقع المُنزَّل على الجهاز لديك دون الحاجة للاتّصال بالشّبكة. يُستخدم الخيّار على النّحو التّالي

wget -k www.exemple.com

حيث www.exemple.com هو عنوان الصفحة المُراد تنزيلها. طبعا يمكننا إضافته للأمر السابق لتنزيل ملفات موقع ما وجعلها قابلة للتصفح محليا.

wget -k -r -l3 eyil.info

الخيار p- ( أو page-requisites–) : تنزيل متعلقات صفحة

يوجِّه الأمر wget لتنزيل كل الملفات التي تحتاجها صفحة الويب لتُعرَض دون الحاجة للاتصال بالشبكة.
لنأخذ مثال تدوينة النسخ الاحتياطي على ووردبريس عن طريق إضافة BackWPup. عند تطبيق الأمر wget على عنوان التدوينة المذكورة دون استخدام الخيار p- فلن تُنزَّل الصّوّر الموجودة في التّدوينة، مما يعني أنك لن تستطيع رؤيتها على النسخة المحلية. استخدام الخيار p- يمكِّن من التغلب على هذا الأمر. في حالة تفعيل تتبع الروابط (الخيار r- ) دون استخدام p- فإن الملفات – صور وغيرها – التي تحتاجها صفحات المستوى الأخير (المستوى الثالث في المثال الأول) لن تُنزَّل.

الخيار np- ( أو no-parent– ) : قصر التنزيل على المجلدات الفرعية

يستخدم مع الخيار r- لمنع تنزيل صفحات من مستوى أعلى من مستوى الصفحة المعطاة في العنوان. مثلا بإمكانك استخدام هذا الخيار لتنزيل قسم من موقع دون الاضطرار لتنزيل الموقع بكامله.

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

بدمج الخيارات أعلاه يمكننا تنزيل موقع وتصفّحه محليًّا من الجهاز كما لو كنت تتصفحه عبر الشبكة عن طريق الأمر التالي:

wget -r -k -np -p www.site.com

r- لتتبع الروابط (التنزيل التكراري – Recursive Download)
k- لتحويل الروابط لروابط محلية
np- للتأكد من تنزيل الصفحات التي نريدها فقط وليس صفحات مستوى أعلى (في حالة موقع به العديد من الأقسام أو المواقع التي تستخدم اسمَ نطاق مشترك كهذه المدونة)
p- لتنزيل الملفات التي تحتاجها صفحات المستوى الأخير.

حسب رأيي الخيارات أعلاه هي الأساسية لأمر wget . أدناه سأذكر سريعًا بعض الخيارات الأخرى التي قد تكون مفيدة.

خيارات أخرى

الخيار b- ( أو background –) : التشغيل في الخلفية

تشغيل الأمر في الخلفية، بإمكانك مثلا الدخول على النظام باسم مستخدم “محمد”، تشغيل تنزيل موقع في الخلفية عن طريق هذا الخيار، قفل الجلسة (session) ثم الدخول باسم مستخدم ثان “أحمد” دون انقطاع التنزيل الذي شغله المستخدم الأول “محمد”.

الخيار c- ( أو continue– ) : استكمال التنزيل

استكمال تنزيل ملف حتى ولو لم تكن استخدمت wget لبدأ التنزيل (بدأتَ التنزيل عن طريق المتصفح مثلا ثم انقطع التنزيل لسبب أو آخر)

الخيار i- (أو input– ) : تنزيل روابط موجودة في ملف .

يستخدم هكذا wget -i file أو wget –input=file فيقرأ روابط المواقع أو الصفحات المُراد تنزيلها من ملف (file هنا تمثل المسار الذي يوجد عليه الملف، في الملف كل سطر يحوي رابطًا واحدا ) ثم تنزيلها واحدا تلو الآخر.

بهذا أصل إلى نهاية هذه التدوينة التي أرجو أن تكون أفادتكم. سأكون سعيدا بالرد على استفساراتكم أو تصويباتكم عبر مربع التعليقات أدناه.

اشترك في تغذيات RSS للحصول على آخر الإضافات مباشرة بعد نشرها.

أو على تطبيق فيدلي عبر الضغط على الزّر أدناه

تابعنا على تطبيق فيدلي

يُمكنك أيصًا الاشتراك في النّشرة البريديّة

فضلًا.. شارك هذا المقال 🙂

Email this to someoneTweet about this on TwitterShare on FacebookShare on Google+Share on StumbleUpon

zeine77

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

3 Comments

  1. في الحقيقه ابدعت في هذه التدوينه

    الطريقه مفيده جدا افادتني جدا جدا

    بارك الله فيك

    • شكرا جزيلا لك على الإطراء، أسعدني جدا أنها أفادتك.
      ممتن لهذا التواصل

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *