Как скачать фотоальбом из Facebook

facebook photo download

Недавно мне понадобилось скачать несколько фотоальбомов из соц. сети Facebook, причем сделать это нужно было быстро, сведя к минимуму свое участие в процессе.

Немного погуглив в поисках решения, я нашел на GitHub два подходящих мне способа, которые я и опишу в этой статье.

Facebook Album Scraper

Первое решение является набором js-скриптов работающих с помощью программной платформы Node.js и называется Facebook Album Scraper.

Все, что понадобится, - это любая Debian-based система (в моем случае Ubuntu 16.04), Git, Curl, менеджер пакетов npm и пакет nodejs-legacy для связной работы модулей.

Клонируем проект с GitHub.

В результате появится каталог fb-album-scraper в который нужно перейти.

Находясь внутри каталога установим нужные для проекта зависимости.

На этом этапе подготовка почти завершена, за исключением одной небольшой детали. Для дальнейшей работы понадобятся Facebook App ID и App Secret, значения которых подставляются в файл app.js.

Чтобы их получить, нужно создать приложение на странице разработчиков Facebook. Кстати, этот шаг нужен и для второго способа.

Сразу после входа нажимаем кнопку "Добавьте новое приложение".

facebook photo downloadВведите имя нового приложения и нажмите кнопку "Создайте ID приложения".

facebook photo downloadВозвращаемся к списку приложений (выбирать ничего не нужно, просто нажимаем на "Мои приложения") и кликаем по созданному приложению. Далее переходим в раздел основных настроек, как показано на изображении ниже.

facebook photo downloadСкопируйте ID приложения & Секрет приложения и отредактируйте файл app.js заменив соответствующие значения на свои.

Переходим в каталог fb-album-scraper.

Выполняем скрипт app.js.

В открывшейся консоли downloadAlbum$ выполняем команду download <album id>, где <album id> это ID нужного альбома. Например так.

ID нужного альбома берется из ссылки на альбом. Ссылки выглядят по разному, - https://www.facebook.com/media/set/?set=a.378105979135842&type=1&l=878966d51a или https://www.facebook.com/pg/Mylène-Farmer-Chronophotos-356496537963453/photos/?tab=album&album_id=378105979135842, но в любом случае нужно только числовое значение выделенное жирным шрифтом.

facebook-photo-downloader

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

Клонируем проект с GitHub.

Переходим в каталог facebook-photo-downloader.

В отличие от первого способа где требовались Facebook App ID и App Secret, то здесь нужен так называемый Facebook Access Token.

Для получения токена доступа также создаем приложение (как создать читаем выше), только после того как приложение будет создано, сразу переходим по следующей ссылке - https://developers.facebook.com/tools/explorer/ и нажимаем "Получить маркер приложения".

facebook photo downloadКопируем токен доступа и вставляем его в файл .fb_access_token, по умолчанию файл скрыт и не виден при просмотре каталога, но он там есть).

Обратите внимание что в данном случае токен записан внутри кавычек. Поскольку содержит символ "|" являющийся разделителем команд. Bash понимает строку как две последовательные команды и выдает ошибку.

Принимая все символы после "|" как следующую команду для выполнения. Поэтому лучше использовать кавычки, естественно что в файл токен будет занесен без них.

Делаем скрипт fb.sh исполняемым.

Создадим каталог для закачек.

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

Успешное выполнение скрипта выглядит примерно так.

Описанными в статье способами можно скачивать как свои альбомы изображений, так и чужие (естественно открытые к просмотру их владельцем).

На этом все. До встречи.