среда, 29 августа 2007 г.

Создание зеркала сайта

Захотелось выкачать какой-нибудь сайт для последующего локального просмотра?

Я для этого использую либо расширение ScrapBook для Firefox, либо программу httrack. Использовать их очень просто, так что расписывать, как с ними работать, я не буду - все итак интуитивно понятно. Ограничусь лишь несколькими замечаниями.

Если мне надо выкачать небольшой сайт или только его часть, я обычно выкачиваю его ScrapBook'ом. Мне он как-то больше по душе, нежели httrack - в основном из-за тесной интеграции с Firefox. Кстати, если с помощью расширения Nuke Anything Enhanced скрыть что-нибудь на странице, а потом сохранить при помощи ScrapBook, то в сохраненной странице эти элементы останутся скрытыми - очень удобно, когда нужно сохранить одну страничку, вырезав из нее лишние элементы сайта и оставив только то, ради чего эта страница была сохранена.

Самый существенный, на мой взгляд, недостаток ScrapBook - ограничение на максимальное количество выкачиваемых страниц - 10000. Так что большие сайты с его помощью выкачать не удастся, хотя, думаю, эту проблему очень легко решить путем правки его исходных кодов. Помнится, я как-то уже ковырялся в них - хотел убрать задержку между скачиванием двух страниц. Долго возиться не пришлось - нашел и исправил буквально за пару минут. Здесь, наверное, тоже достаточно только найти в коде число 10000 и увеличить его в пару десятков раз. Единственный недостаток такого подхода - после обновления до следующей версии вам придется заново вносить свои изменения в код.

Вот вообщем то и все, что я хотел сказать про ScrapBook. Про httrack скажу еще меньше, т. к. пользовался я им всего один раз. Тогда нареканий у меня к нему не возникло. Разве что поначалу никак не мог понять, почему он скачивал сайт с очень маленькой скоростью. Оказалось, по умолчанию у него включены ограничения, чтобы не нагружать сервер, с которого вы скачиваете сайт. Так что не забудьте их отключить, т. к., по крайней мере у меня эти ограничения были очень жесткими. Вот команда, которой я выкачивал сайт:
httrack "http://........./" "+*.css" "+*.js" "+*.jpg" "+*.jpeg" "+*.tiff" "+*.png" "+*.gif" "+*.giff" "+*.swf" "+.ico" -v --disable-security-limits -s0
Итог можно подвести следующий: httrack гораздо функциональней ScrapBook, но интеграция с браузером у ScrapBook'а - тоже большой плюс. Так что, если нужно скачать что-нибудь простенькое, наш выбор - ScrapBook. Для выкачивания больших сайтов используем httrack.

P. S.: естественно, это исключительно мое мнение, и я никому его не навязываю :)

3 комментария:

Алексей комментирует...

Для консоли так же можно воспользоваться wget-ом. Приимущество данного варианта в том, что wget присутствует почти во всех linux дистрибутивах (и не только) сразу же после инсталяции.

Например вот так:
wget -nv -c -b -a download.log -i download.list --html-extension -t 0 -T 3 --force-directories --recursive --level 15 --convert-links --page-requisites --follow-ftp

В файле download.list указываем названия сайтов по одному на строку, в файле download.log можем следить за прогрессом.

Недостаток в том, что wget однопоточный, это не всегда может быть удобно

virens комментирует...

Алексею и всем остальным теоретикам от WGET: ребята, прежде, чем делать такие глобальные выводы, ПОПРОБУЙТЕ В КОНЦЕ КОНЦОВ СВОИ РЕЦЕПТЫ!

Я скажу жёстче: просто скачайте чей-нибудь мало-мальски нагруженный джаваскриптами и картинками на другом хостинге блог. Вы увидите большую разницу.

А Дмитрию за пост огромное спасибо - именно httrack и позволяет вытягивать blogspot-овские блоги нормально.

Анонимный комментирует...

Попробуем