Как скачать полностью блог с помощью wget

Существует много статей о том, как скачать полностью сайт с помощью программы Wget. Но при попытке скачать блог на WordPress с включённой функцией т.н. чистых ссылок (permalink), не скачиваются статьи.

Почему же так получалось? Всё просто. Для начала рассмотрим стандартный вид адреса статьи в блоге:

/2009/02/10/merge-google-contacts.html

— Wget будет скачивать и /2009/02, что является страницей архива всех записей за данный период, и саму статью. Первую страницу он сохранит в файл 02 в директории 2009, но куда же сохранить статью, если уже не получится создать директории с тем же именем 02? Именно в этом и была у меня проблема.

Всё решается просто: достаточно указать флаг -E в параметрах запуска Wget, чтобы он все страницы сохранял с расширением .html. Теперь страница с архивом будет сохранена как 02.html в директории 2009, так что Wget сможет создать директории 02, чтобы сохранить запись.

Итак, итоговая строка запуска Wget с параметрами будет выглядеть так:

wget -r -l20 -k -E -c http://www.site.ru

где r — рекурсивно,
l — глубина рекурсии,
c — с возможностью докачки,
k — конвертация ссылок в абсолютные по окончанию закачки,
E — сохранять страницы с расширением .html.

plants