قم بتنزيل موقع ويب كاملاً من Internet Archive Wayback Machine.
تحتاج إلى تثبيت Ruby على نظامك (>= 1.9.2) - إذا لم يكن لديك بالفعل. ثم قم بتشغيل:
gem install wayback_machine_downloader
نصيحة: إذا واجهت أخطاء في الأذونات، فقد يتعين عليك إضافة sudo
أمام هذا الأمر.
قم بتشغيل wayback_machine_downloader باستخدام عنوان URL الأساسي لموقع الويب الذي تريد استرداده كمعلمة (على سبيل المثال، http://example.com):
wayback_machine_downloader http://example.com
سيتم تنزيل الإصدار الأخير من كل ملف موجود على Wayback Machine إلى ./websites/example.com/
. كما سيقوم أيضًا بإعادة إنشاء بنية الدليل وإنشاء صفحات index.html
تلقائيًا للعمل بسلاسة مع Apache وNginx. جميع الملفات التي تم تنزيلها هي الملفات الأصلية وليست إصدارات Wayback Machine المعاد كتابتها. بهذه الطريقة، تكون بنية عناوين URL والروابط هي نفسها كما كانت من قبل.
Usage: wayback_machine_downloader http://example.com
Download an entire website from the Wayback Machine.
Optional options:
-d, --directory PATH Directory to save the downloaded files into
Default is ./websites/ plus the domain name
-s, --all-timestamps Download all snapshots/timestamps for a given website
-f, --from TIMESTAMP Only files on or after timestamp supplied (ie. 20060716231334)
-t, --to TIMESTAMP Only files on or before timestamp supplied (ie. 20100916231334)
-e, --exact-url Download only the url provided and not the full site
-o, --only ONLY_FILTER Restrict downloading to urls that match this filter
(use // notation for the filter to be treated as a regex)
-x, --exclude EXCLUDE_FILTER Skip downloading of urls that match this filter
(use // notation for the filter to be treated as a regex)
-a, --all Expand downloading to error files (40x and 50x) and redirections (30x)
-c, --concurrency NUMBER Number of multiple files to download at a time
Default is one file at a time (ie. 20)
-p, --maximum-snapshot NUMBER Maximum snapshot pages to consider (Default is 100)
Count an average of 150,000 snapshots per page
-l, --list Only list file urls in a JSON format with the archived timestamps, won't download anything
-d, --directory PATH
خياري. افتراضيًا، سيقوم Wayback Machine Downloader بتنزيل الملفات إلى ./websites/
متبوعة باسم المجال الخاص بموقع الويب. قد ترغب في حفظ الملفات في دليل محدد باستخدام هذا الخيار.
مثال:
wayback_machine_downloader http://example.com --directory downloaded-backup/
-s, --all-timestamps
خياري. سيؤدي هذا الخيار إلى تنزيل جميع الطوابع الزمنية/اللقطات لموقع ويب معين. وسوف يستخدم الطابع الزمني لكل لقطة كدليل.
مثال:
wayback_machine_downloader http://example.com --all-timestamps
Will download:
websites/example.com/20060715085250/index.html
websites/example.com/20051120005053/index.html
websites/example.com/20060111095815/img/logo.png
...
-f, --from TIMESTAMP
خياري. قد ترغب في توفير طابع زمني من لقفل النسخة الاحتياطية الخاصة بك على إصدار معين من موقع الويب. يمكن العثور على الطوابع الزمنية داخل عناوين URL لموقع Wayback Machine العادي (على سبيل المثال، https://web.archive.org/web/20060716231334/http://example.com). يمكنك أيضًا استخدام السنوات (2006)، والسنوات + الشهر (200607)، وما إلى ذلك. ويمكن استخدامها مع To Timestamp. سيقوم Wayback Machine Downloader بعد ذلك بجلب إصدارات الملفات فقط عند الطابع الزمني المحدد أو بعده.
مثال:
wayback_machine_downloader http://example.com --from 20060716231334
-t, --to TIMESTAMP
خياري. قد ترغب في توفير طابع زمني لقفل النسخة الاحتياطية الخاصة بك على إصدار معين من موقع الويب. يمكن العثور على الطوابع الزمنية داخل عناوين URL لموقع Wayback Machine العادي (على سبيل المثال، https://web.archive.org/web/20100916231334/http://example.com). يمكنك أيضًا استخدام السنوات (2010)، والسنوات + الشهر (201009)، وما إلى ذلك. ويمكن استخدامها مع من الطابع الزمني. سيقوم Wayback Machine Downloader بعد ذلك بجلب إصدارات الملفات فقط عند الطابع الزمني المحدد أو قبله.
مثال:
wayback_machine_downloader http://example.com --to 20100916231334
-e, --exact-url
خياري. إذا كنت تريد استرداد الملف المطابق تمامًا لعنوان URL المقدم فقط، فيمكنك استخدام هذه العلامة. وسوف تجنب تحميل أي شيء آخر.
على سبيل المثال، إذا كنت تريد فقط تنزيل ملف الصفحة الرئيسية بتنسيق html من example.com:
wayback_machine_downloader http://example.com --exact-url
-o, --only ONLY_FILTER
خياري. قد ترغب في استرداد الملفات التي هي من نوع معين (على سبيل المثال، .pdf، .jpg، .wrd...) أو الموجودة في دليل محدد. للقيام بذلك، يمكنك تزويد العلامة --only
بسلسلة أو regex (باستخدام تدوين '/regex/') لتحديد الملفات التي سيقوم Wayback Machine Downloader بتنزيلها.
على سبيل المثال، إذا كنت تريد فقط تنزيل الملفات داخل my_directory
محدد:
wayback_machine_downloader http://example.com --only my_directory
أو إذا كنت تريد تنزيل كل الصور دون أي شيء آخر:
wayback_machine_downloader http://example.com --only "/.(gif|jpg|jpeg)$/i"
-x, --exclude EXCLUDE_FILTER
خياري. قد ترغب في استرداد الملفات التي ليست من نوع معين (على سبيل المثال، .pdf، .jpg، .wrd...) أو ليست موجودة في دليل محدد. للقيام بذلك، يمكنك تزويد علامة --exclude
بسلسلة أو regex (باستخدام تدوين '/regex/') لتحديد الملفات التي سيقوم Wayback Machine Downloader بتنزيلها.
على سبيل المثال، إذا كنت تريد تجنب تنزيل الملفات داخل my_directory
:
wayback_machine_downloader http://example.com --exclude my_directory
أو إذا كنت تريد تنزيل كل شيء باستثناء الصور:
wayback_machine_downloader http://example.com --exclude "/.(gif|jpg|jpeg)$/i"
-a, --all
خياري. افتراضيًا، يقتصر Wayback Machine Downloader على الملفات التي استجابت برمز 200 OK. إذا كنت بحاجة أيضًا إلى ملفات أخطاء (رموز 40x و50x) أو ملفات إعادة توجيه (رموز 30x)، فيمكنك استخدام علامة --all
أو -a
وسيقوم Wayback Machine Downloader بتنزيلها بالإضافة إلى 200 ملف OK. وسيحتفظ أيضًا بالملفات الفارغة التي تتم إزالتها افتراضيًا.
مثال:
wayback_machine_downloader http://example.com --all
-l, --list
سيعرض فقط الملفات التي سيتم تنزيلها مع الطوابع الزمنية للقطات وعناوين URL الخاصة بها. تنسيق الإخراج هو JSON. لن يتم تنزيل أي شيء. إنه مفيد لتصحيح الأخطاء أو للاتصال بتطبيق آخر.
مثال:
wayback_machine_downloader http://example.com --list
-p, --snapshot-pages NUMBER
خياري. حدد الحد الأقصى لعدد صفحات اللقطات التي يجب مراعاتها. قم بحساب ما متوسطه 150.000 لقطة لكل صفحة. 100 هو الحد الأقصى الافتراضي لعدد صفحات اللقطات ويجب أن يكون كافيًا لمعظم مواقع الويب. استخدم رقمًا أكبر إذا كنت تريد تنزيل موقع ويب كبير جدًا.
مثال:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
خياري. حدد عدد الملفات المتعددة التي تريد تنزيلها في نفس الوقت. يسمح للمرء بتسريع تنزيل موقع الويب بشكل ملحوظ. الافتراضي هو تنزيل ملف واحد في كل مرة.
مثال:
wayback_machine_downloader http://example.com --concurrency 20
كطريقة تثبيت بديلة، لدينا صورة Docker! استرجع صورة Docker wayback-machine-downloader بهذه الطريقة:
docker pull hartator/wayback-machine-downloader
بعد ذلك، يجب أن تكون قادرًا على استخدام صورة Docker لتنزيل مواقع الويب. على سبيل المثال:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
المساهمات هي موضع ترحيب! ما عليك سوى تقديم طلب سحب عبر GitHub.
لتشغيل الاختبارات:
bundle install
bundle exec rake test