سيتم إيقاف منتدى Discourse الذي أستخدمه قريبًا، لذلك شرعت في أرشفة الموقع. أجريت الكثير من الأبحاث والتجارب، ووجدت حلاً بسيطًا باستخدام HTTrack. إليك كل ما تعلمته.
أرشفة موقع Discourse باستخدام HTTrack
لمستخدمي Windows، يبدو أن أفضل حل هو HTTrack. لقد عمل هذا بشكل رائع وأرشف الموقع إلى ملفات HTML. تم أرشفة جميع الفئات والمواضيع والمنشورات بما في ذلك جميع الصفحات مع روابط التنقل النسبية.
برنامج تعليمي أساسي لـ HTTrack موجود هنا. تركت الإعدادات على الوضع الافتراضي مع الإعدادات المخصصة التالية.
- عناوين الويب:
https://forums.gearboxsoftware.com/c/homeworld/https://forums.gearboxsoftware.com/c/homeworld-dok/
- قواعد الفحص:
-gearboxsoftware.com/* -forums.gearboxsoftware.com/* +forums.gearboxsoftware.com/c/homeworld/* +forums.gearboxsoftware.com/c/homeworld-dok/* +forums.gearboxsoftware.com/t/* +forums.gearboxsoftware.com/user_avatar/* +sea2.discourse-cdn.com/*
- معرف المتصفح (المعروف أيضًا باسم وكيل المستخدم):
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
ملاحظة: هناك مشكلة في CSS تمنع روابط الفئات من العمل، ولكن يمكن إصلاح ذلك بسهولة كما هو موضح أدناه.
مشكلة CSS
عند عرض صفحات الفئات كـ googlebot، لا تعمل روابط المواضيع. مثال على ذلك هو [هنا](https://web.archive.org/web/20220731051419/https://forums.gearboxsoftware.com/c/homeworld/57).
هذا يجعل التنقل مستحيلاً على صفحات الفئات في HTTrack، و archive.org، و google catch. يبدو أن هذه مشكلة في Discourse في ملف CSS. لإصلاح الروابط، ما عليك سوى حظر/حذف ملف CSS التالي:
stylesheets/desktop_theme_10_1965d1d398092f2d9f956b36e08b127e00f53b70.css?__ws=forums.gearboxsoftware.com
@codinghorror - هل يمكنكم معالجة هذا؟
التحديات
واجهت التحديات التالية وتغلبت عليها في النهاية بعد الكثير من التجربة والخطأ.
- يتم إنشاء صفحات Discourse ديناميكيًا باستخدام JavaScript. هذا يؤدي إلى نتائج سيئة مع معظم أدوات الأرشفة/الزحف.
- معظم المواضيع يتم تحميلها مع أول ~20؟ منشورًا فقط، وتظهر بقية المنشورات عند التمرير لأسفل. يؤدي الضغط على Ctrl+P إلى تحميل صفحة
/printمع ظهور جميع المنشورات. يقتصر المستخدمون على طباعة 5 صفحات في الساعة في وضع الطباعة، ولكن يمكن زيادة هذا الحد بواسطة مسؤول موقع Discourse. - أشار Adrelanos إلى أن المواضيع متعددة الصفحات لم يتم أرشفتها بشكل صحيح بواسطة HTTrack، ومع ذلك أشك في أن هذه المشكلة كانت بسبب إعدادات HTTrack الخاصة به، حيث لم أواجه هذه المشكلة.
- حفظ صفحة بتنسيق PDF لن يتضمن أي أقسام تفاصيل مطوية.
- يمكن تحميل الصفحات بتنسيق HTML أساسي عن طريق إضافة
?_escaped_fragment_إلى نهاية عنوان URL، ولكن هذه الحيلة تعمل فقط مع المواضيع وليس الفئات.
التحديات المذكورة أعلاه ليست مصدر قلق بمجرد أن تتعلم أن جميع صفحات/محتوى Discourse يمكن عرضه بشكل صحيح كـ HTML للزواحف. للقيام بذلك، يجب عليك تغيير وكيل المستخدم الخاص بالزاحف / المتصفح الخاص بك إلى googlebot للحصول على إصدار HTML من الصفحات.
Archive.org
إذا استخدمت ميزة “حفظ الصفحة الآن” على web.archive.org، فستقوم بأرشفة إصدار JavaScript من Discourse بنتائج سيئة. يستخدم Archive.org وكيل المستخدم للشخص الذي يطلب الأرشيف. لذلك يجب عليك تغيير وكيل المستخدم الخاص بك إلى googlebot. يمكنك الحصول على امتداد Chrome يسمى “User-Agent Switcher for Chrome”. في الخيارات أضف:
- الاسم: Googlebot
- السلسلة:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - المجموعة: Chrome
- مؤشر العلم: 1
أدوات أرشفة بديلة
العديد من الأدوات مدرجة هنا: Archive an old forum "in place" to start a new Discourse forum
اختبرت أيضًا لفترة وجيزة أدوات واجهة المستخدم الرسومية مثل Cyotek WebCopy و A1 Website Download و WAIL.
تشمل أدوات سطر الأوامر أداة mcmcclur و wget. برنامج تعليمي حول wget موجود [هنا](https://letswp.justifiedgrid.com/download-discourse-forum-wget/).
ومع ذلك، لمستخدمي Windows، يبدو أن أفضل حل هو HTTrack.
ملاحظة: نظرًا لأنني مستخدم جديد، فأنا مقيد برابطين في منشور. لذلك قمت بتحويل بعض الروابط إلى نص مُنسق مسبقًا.