Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как смонтировать любой сайт в виде папки на Linux с помощью HTTPDirFS

Как смонтировать любой сайт в виде папки на Linux с помощью HTTPDirFS

Обычно веб-страницы открываются исключительно в браузере, где пользователи просматривают разделы, изучают изображения и скачивают файлы по отдельности. Однако в операционной системе Linux открытая утилита монтировать любой сайт в виде папки позволяет иначе взаимодействовать с сетевым контентом, превращая удаленный веб-сервер в локальную файловую систему через FUSE.

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

Доступ к страницам сайта и изображениям через HTTPDirFS
Пример отображения страниц и картинок сайта в смонтированной директории
Файлы удаленного веб-сайта через локальный каталог HTTPDirFS
Интерфейс локального каталога со структурой удаленного сайта
Ноутбук с открытой смонтированной директорией HTTPDirFS в файловом менеджере
Ноутбук при работе со смонтированной через HTTPDirFS файловой системой

Зачем использовать HTTPDirFS

Инструмент не заменяет специализированные программы вроде wget, curl или продвинутые утилиты для веб-скрейпинга. Его практическая ценность раскрывается тогда, когда требуется просмотреть удаленные файлы и извлечь выборочные объекты без необходимости скачивать всю директорию целиком. Утилита эффективна при изучении открытых каталогов, содержащих тысячи изображений, документов или видеоматериалов. Вместо полной загрузки архива можно смонтировать удаленную папку и открывать нужные элементы по мере необходимости.

Реклама
Файловый менеджер Linux с смонтированной директорией HTTPDirFS
Отображение смонтированной папки с HTML-файлами в файловом менеджере
Содержимое смонтированной директории сайта
Страницы и изображения внутри смонтированной папки сайта

Аналогичным образом технология выручает, когда HTML-страницы ссылаются на удаленные медиафайлы. Вместо написания скриптов для парсинга ссылок и массовой загрузки ресурсов можно задействовать HTTPDirFS, которая выставит обнаруженные элементы в виде путей файловой системы. После этого стандартные команды оболочки и файловые утилиты смогут напрямую взаимодействовать с этими объектами.

Реклама

Сборка и установка утилиты

Для экспериментов обычно используется актуальная версия из репозитория разработки, так как пакетные сборки могут не содержать нужного режима работы с веб-сайтами. Процесс начинается с установки необходимых системных утилит и библиотек разработки.

Команда для установки зависимостей в дистрибутивах на базе Debian/Ubuntu:

sudo apt update
sudo apt install git build-essential meson ninja-build \
 libfuse3-dev libcurl4-openssl-dev libgumbo-dev

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

git clone https://github.com/fangfufu/httpdirfs.git
cd httpdirfs
meson setup build
meson compile -C build

Скомпилированный исполняемый файл помещается в директорию build/httpdirfs. Перед началом работы рекомендуется проверить версию и доступные параметры командной строки с помощью ключей --version и --help.

Монтирование веб-сайта в режиме просмотра

Главным параметром для работы с веб-ресурсами является флаг --website-mode. Он преобразует ресурсы с типом контента text/html в директории, а также делает доступными связанные медиафайлы и прочие активы через файловую систему. Поскольку данный режим по умолчанию отключен, его требуется активировать вручную.

В качестве демонстрационного примера часто используют тестовые сайты вроде Books to Scrape, содержащие книжные заголовки, ссылки на категории и обложки. Сначала в домашнем каталоге создается точка монтирования:

mkdir -p "$HOME/HTG-Test"

Затем из папки с исходным кодом запускается процесс монтирования с активным веб-режимом:

./build/httpdirfs --website-mode -f \
 https://books.toscrape.com/ "$HOME/HTG-Test"

Параметр -f удерживает процесс в активном состоянии в терминале, позволяя отслеживать вывод и сообщения программы во время работы.

Доступ к удаленным файлам без скачивания

После обработки начальной страницы указанный каталог можно открыть в графическом файловом менеджере. Смонтированная файловая система отображает HTML-страницы категорий и конкретных товаров вместе с обложками и прочими ресурсами, на которые ссылается сайт.

Некоторые страницы отображаются в виде папок, позволяя изучать вложенные материалы без предварительной загрузки всего веб-ресурса. Приложения могут обращаться к найденным элементам через привычные пути файловой системы. Итоговый результат зависит от архитектуры конкретного сайта: ресурсы, зависящие от генерации контента через JavaScript или сложные интерактивные сценарии, могут отображаться не полностью, так как утилита не заменяет полноценный движок браузера.

01.