Использование программы httrack

Сразу скажу, что я этим способом не пользуюсь. Но для общего развития и чтобы картина была более полная я опишу возможности программы httrack.

Скачать программу можно отсюда: https://www.httrack.com/page/2/en/index.html.

Эта программа очень популярна для windows пользователей, вам нужно установить подходящую для вас версию, как правило они все идут с консольной версией, то есть там написано (also included: command line version).
Почему я работаю с программами без графических оболочек, так как по мне такие программы наделены всем функционалом, которые разработчики вкладывают в свой продукт, в GUI варианте многое удаляется, отсекается.
1) Открываем терминал (консоль).
2) Посмотрим возможности программы.
> httrack —help
3) Базовый функционал весьма прост.
> httrack <URLs> [-option] [+<URL_FILTER>] [-<URL_FILTER>]
[+<mime:MIME_FILTER>] [-<mime:MIME_FILTER>]
<URLs> — параметр указываем что мы копируем
[-option] — опции, которые конечно же нужно хорошо прочесть и изучить, не поленитесь, зайдите на официальный сайт (https://www.httrack.com/html/fcguide.html) и почитайте и вникните в смысл всех опций, если хотите стать гуру в использовании httrack.
[+<URL_FILTER>] [-<URL_FILTER>] — эти опции указывают какие УРЛ принимать (с плюсом), а какие отвергать (с минусом)
[+<mime:MIME_FILTER>] [-<mime:MIME_FILTER>] — указываем файлы с каким типом мы принимаем (с плюсом), а с каким типом мы отвергаем (с минусом)

Надуманный пример:
> httrack «http://example.org/» -O «$backupDirectoryPath» «+*.example.org/*» «+http://s3.amazonaws.com/*» -v
«http://example.org/» — УРЛ сайта, который желаем сохранить
«$backupDirectoryPath» — путь до директории, в которую будет сохранены файлы
«+*.example.org/*» — это опция показывает с какого УРЛ можно сохранять файлы
«+http://s3.amazonaws.com/*» — эта опция аналогична опции сверху, то есть позволяет сохранять файлы с УРЛ, которое начинается с «http://s3.amazonaws.com/»

Повторюсь, чтобы жонглировать инструментом нужно прочесть документацию по нему (https://www.httrack.com/html/fcguide.html) много раз и тренироваться, тренироваться.
Эта программа мне понравилась тем, что здесь достаточно уделено внимания эмалированию поведения под браузер, работа с куки, формирование HTTP-заголовков.
Начнем делать практическую часть, так как хуже всего у нас получилось скопировать сайт energytrip.club, давайте на нем и отрабатаем новый инструмент.

Сразу скажу, что в интернете толковых инструкций как сделать копию сайта с помощью httrack мало. Но посидев немного над документацией и поисками в сети, я сделал, как мне кажется, оптимальный вариант, для копирования одностраничника.

Вот такой вариант для скачивания я использую с httrack:
> httrack —near -%v -z -%B -%P -B -t -p3 -u2 -%u -O ./. «http://energytrip.club»
Пройдемся по параметрам:
—near — копируем со страницы даже тот материал, который находится не на этом домене, за исключением чужих html-страниц
-%v — вывод на экран информацию о скаченных файлах
-z — ведем лог файл, как проходит скачка
-%B — принимать ответы сервера об ошибке
-%P — поиск ссылок везде, даже в js файлах
-B — скачивание как вверх так и вниз по структуре сайта
-t — проверять все ссылки
-p3 — сохранять все файлы
-u2 — проверять всегда тип сохраняемого документа
-%u — запускать программу с другим ID, если она запущена от имени администратора
-O ./. — указывает в какую директорию сохранять файл «http://energytrip.club» — URL сайта, который хотим сохранить

Когда мы зайдем в директорию, то увидим index.html — но это не тот index.html, который нам нужен, реальный же находится тут «energytrip.club/index.html».

Просто httrack сгенерировал index.html, в котором он записывает свою рекламу, а после редиректит на «energytrip.club/index.html».

Редирект происходит с помощью тега: <meta HTTP-EQUIV=»Refresh» CONTENT=»0; URL=energytrip.club/index.html»>

Нам, конечно же, не нужен index.html сгенерированный httrack — вы его можете удалить. А как же обойтись без файла index.html в корневой дериктории? Я вижу здесь два варианта.

Первый, создать свой index.html, в котором будет прописан тег <meta HTTP- EQUIV=»Refresh» CONTENT=»0; URL=energytrip.club/index.html»> либо в настройках хостинга прописать redirect или rewrite с корневой ссылки «/» на
«energytrip.club/index.html»

Выводы.
Сначала я был огорчен, что в сети как правило все отговаривали от использования httrack в пользу wget (я с ними согласен). Но как мы увидели немного потрудившись нам удалось
скопировать быстро одностраничник.
Я советую httrack для копирования именно одностраничников, но не сайта с большим количеством ссылок, что конечно также возможно, но зачем, если есть wget.