VDS Хостинг для Ваших проектов

HTTrack Website Copier (winhttrack) – программа для скачивания сайта целиком

Ноябрь 26th, 2015 Рубрики: Интернет

Иногда возникает необходимость сохранить много страниц сайта на компьютер для последующего оффлайн просмотра. Особенно если сайт представляет собой какую-то документацию, справку, серию уроков, лекций и т.п., то иногда хочется иметь всё это под рукой на локальном компьютере, чтобы даже без доступа к интернету обратиться к нужной информации. Порой эти страницы неплохо бы собрать в chm-файл, имея всю структуру в сжатом и структурированном виде. Можно, конечно, перейти на нужные страницы и сохранить их из вашего любимого браузера. Но такой способ применим лишь для небольшого числа страниц. К тому же ссылки на сохранённых страницах могут содержать абсолютные адреса, т.е. ссылаться на интернет версию компонентов и страниц, а хотелось бы чтобы на локальные копии. Ясное дело, что для этого надо использовать специальные программы. Очень популярной программой для закачки сайта является Teleport Pro. Однако она не является бесплатной и имеет некоторые ограничения, хотя выполнена очень добротно. В этом же посте я хочу познакомить вас с аналогом Teleport – бесплатной программой HTTrack. Она есть и для Windows и для Linux. В этом обзоре я рассмотрю версию для Windows, её модификация называется WinHTTrack.

Сначала по сложившейся традиции выделю сильные и слабые стороны данной программы. Среди достоинств:

  • HTTrack – полностью бесплатная программа для закачки сайтов с открытым исходным кодом . Мультиплатформенная.
  • Работает как в консольном режиме так и с графическим интерфейсом.
  • Поддержка русского языка.
  • Множество опций, которые позволяют очень гибко настроить работу программы.
  • Поддержка работы с проектами: создание, докачка, обновление.
  • Есть справка, правда на английском.

Среди отрицательных моментов можно выделить:

  • Не очень удобный интерфейс и иногда ляпы в переводе.
  • Тяжело новому пользователю понять принцип работы с WinHTTrack и разобраться с кучей параметров для решения конкретных своих нужд.
winhttrack - стартовое окно

Вот именно и последний недостаток постараюсь компенсировать в этой статье, поставив целью максимально быстро и кратко ознакомить нового пользователя с базовыми приёмами работы.

Как пользоваться WinHTTrack

В основе работы с WinHTTrack лежат проекты – это набор конкретных адресов для закачки или проверки ссылок, имеющий свои настройки и своё имя. Т.е. при необходимости скачать некоторые страницы/сайт, надо создать проект, задав ему имя и выбрав тип. На скриншоте видно какие типы можно выбрать, которые задают режим работы, но в данной статье для примера будем качать лекции из этой страницы http://www.intuit.ru/studies/courses/975/311/info, поэтому выбираем первый тип: «загрузить сайты». При создании проекта будет создана папка с идентичным названием. А если выбрать тип «тестировать линки», то можно WinHTTrack использовать в качестве инструмента для проверки ссылок.

В поле «Веб-адреса (URL)» надо указать адрес(а) начальной страницы, из которой будет начинаться поиск других зависимых (по ссылках). Обычно в этом поле логично будет указать карту сайта, либо главную страницу, в случае если надо скачать целый сайт на компьютер. Этот перечень стартовых адресов может содержаться и в текстовом файле (URL list). По возможности я рекомендую задавать здесь максимально возможное количество адресов, которые надо сохранить. Будет отлично, если у вас есть готовый список. О причинах см. ниже.

winhttrack - тип проекта и веб-адреса

Ссылки, найденные на указанных адресах будут добавляться для дальнейшего обхода (парсинга) и сохранения, если они не запрещены правилами, заданными с помощью настроек.

Настройка параметров

Это очень важный этап. Именно здесь много может быть непонятно, что часто пугает рядовых пользователей. От правильно заданных здесь настроек зависит скорость, размер и в конечном итоге правильность скачанного. Другими словами, то ли вы получили, что ожидали, или не то, а может много лишнего?…

Нажав кнопку Задать параметры попадаем на окно с опциями, которые сгруппированы по вкладкам согласно их действию. Самая важная вкладка это Фильтры. На ней следует указать какие адреса (т.е. компоненты, находящиеся по указанным адресам) надо скачивать, а какие нет. По-умолчанию WinHTTrack качает всё, что находится ниже по уровню от стартовой страницы. Например, если указано начать с http://site.net/cat/index.htm, то будут скачаны все страницы, находящиеся в /cat/ и подкаталогах, например http://site.net/cat/1/index.htm, но не выше: http://site.net/index.htm Также надо учитывать, что нам могут потребоваться и картинки и файлы стилей CSS, которые могут находиться в других местах. Поэтому с учётом особенности конкретного сайта, потребуется составить список фильтров, т.е. шаблонов, с которыми будут сравниваться адреса. И если этот фильтр разрешающий, то такой файл скачивается, если нет – нет. Также надо иметь ввиду, что фильтры просматриваются в порядке появления. Это значит, что если вы сначала запретили некоторые картинки содержащие в имени например abc, а потом разрешили все файлы jpg, то рисунки с расширением jpg и именами с abc будут всё равно скачиваться, так как последнее правило перекрывает первое.

Итак, ближе к делу на практике.

фильтры winhttrack

Учитывая вышесказанные положения, будет хорошо взять за правило начинать список фильтров с такого (на первой строчке): -*, которым запрещаются к скачиванию все адреса: знак – (минус) запрещает, + (разрешает). А потом уже разрешить только то, что нужно. Дальше с пояснениями последующие фильтры.

+http://www.intuit.ru/studies/courses/975/311/lecture/* – разрешаем только адреса в поддереве lecture. Это решение принимается с учётом структуры скачиваемого сайта, все лекции имеют такие адреса, а звёздочкой (*) помечаем изменяемую часть. Остальные же страницы нам не требуются, ведь план скачать только лекции этого курса.

+*.intuit.ru/*.jpg – разрешаем скачивать все картинки находящиеся на сайте intuit.ru и поддоменах. То же касается и .png, .gif

+*.intuit.ru/*.css – разрешаем скачать файлы стилей для правильного отображения внешнего вида страниц.

По нуждам можно также разрешить js-файлы и другие.

Прочие опции можно выставить как на рисунке ниже. Остановлюсь на некоторых, которые могут представлять интерес и быть практически важными:

«Ограничения»: Максимальная глубина – задаёт максимальное количество переходов по ссылкам, чтобы добраться к определённому адресу. Надо сказать, до конца влияние и значение этой опции я не понимаю. Если задать значение 1, то будут сохранены только только указанные адреса из списка. Если её значение 2, то также сохраняются страницы нижнего уровня (наши лекции, заданные вторым правилом), НО! Все адреса в этих страницах удивительным образом становятся абсолютными (хотя должны быть относительными, чтобы сохранилась структура сайта на локальной копии). Т.е. css, js и прочие компоненты подгружаются по абсолютному адресу www.intuit.ru/site/file.css вместо такого: ../../file.css Эта проблема исчезает, если эти страницы будут прописаны в качестве начальных для сканирования. Однако тут встаёт задача генерации такого списка, чтобы потом можно было его там применить. Такую же проблему отрепортировал roverallover на форуме. Однако решение проблемы так и нет, насколько понимаю. Я весь интернет перерыл – нигде об этом ничего. Другими словами, только в страницах первого уровня (указанных в качестве стартовой точки) адреса исправляются на относительные, в остальных же страницах они исправляются на абсолютные. Я пробовал экспериментировать с настройками на вкладке «Эксперт», но там лишь смог добиться либо сохранение оригинальных адресов, либо сплошное преобразование в абсолютные. Затем установив значение максимальной глубины в 3, страницы с лекциями второго уровня волшебно сохранились с относительными адресами =) Т.е. эту опцию желательно оставить побольше, хотя это может привести к увеличению времени сканирования и большему числу ошибок сервера. В любом случае, если на некоторых страницах Winhttrack не сохраняет относительные пути, принудительно преобразует в абсолютные адреса, то советую увеличить эту опцию. Хотя сам считаю, что такая работа неправильная и это баг. Если вы можете объянить значение этой опции, какое влияние она оказывает, то будет замечательно, если дополните эту статью посредством комментариев.

Максимальная глубина внешних – то же самое, но внешних ссылок. Это значение должно быть 0, чтобы по внешним ссылкам не совершать переходы. Максимальное число соединений – обычно до 5, иначе может быть излишняя нагрузка на сервер. Максимальная скорость закачки: можно ограничить скорость скачивания, если в то же время интернет используют и другие программы.

«Структура»: Тип локальной структуры – как будут расположены страницы на локальном компьютере, обычно логично сохранить структуру сайта и дерево каталогов (по-умолчанию). Без страниц ошибок – не сохранять возможные страницы ошибок, типа 404 (страница не найдена) и пр.

«Качалка»: Разрешить Cookies – обычно надо включить, иначе закачанный контент может отличаться от такового как если вы смотрите через браузер. Анализ Java – пробовать найти адреса, формируемые скриптами. Update hack – задействовать приёмы для определения, был ли изменён файл на сайте. Хак URL – считать одинаковыми ссылки отличающиеся наличием/отсутствием www, http(s).

«Идентификация». Здесь полезным может быть задать предпочитаемый User-Agent (другими словами идентифицировать себя как определённый браузер). Некоторые сайты могут предоставлять немного различающийся контент в зависимости от User-Agent, или вообще блокировать доступ для поисковых роботов. В этом случае эта опция может помочь.

«Прокси». На этой вкладке можно настроить работу Winhttrack через прокси-сервер, в том числе и локальный.

настройки проекта winhttrack

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

В принципе этих базовых знаний вполне достаточно, чтобы начать пользоваться WinHTTrack и сохранять локальные копии сайтов или их частей, или картинок с сайтов. А для более гибкого применения и полного освоения придётся заглянуть в документацию =)

Скачать HTTrack (Winhttrack, Linux, Android и все-все…)
Понравился пост? Поделись с другими!
Теги: , , ,
Комментариев пока нет.

Написать комментарий

   b2bbonbone