Перейти к основному содержимому

F(b)arc

Проект не поддерживается

Репозиторий justinlittman/fbarc переведён в архив, последние изменения — январь 2018 года. С 2018 года Meta существенно ограничила Graph API: чтение публичного контента чужих страниц требует отдельного разрешения (Page Public Content Access) и проверки приложения. На практике инструмент неработоспособен.

Альтернативы: для собственных данных — официальная выгрузка Facebook; для публичных страниц — браузерная архивация через Browsertrix; для исследователей — Meta Content Library (см. Facebook).

F(b)arc («b» не произносится) — инструмент командной строки и Python-библиотека для архивации данных Facebook через Graph API. Создан по образцу twarc.

Как он устроен​

Данные Facebook представлены как граф:

  • узлы — страницы, альбомы, фотографии и т. д., у каждого есть ID и тип;
  • поля — атрибуты узла (имя, ID);
  • рёбра — связи между узлами (например, фотографии страницы).

F(b)arc извлекает части графа по определениям (definitions) — конфигурационным файлам на Python, где для каждого типа узла указано, какие поля и рёбра запрашивать. Определения лежат в каталогах definitions и local_definitions.

Установка​

Пакета на PyPI нет (в README: «pip install coming once f(b)arc is more stable»). Установка из исходников:

git clone https://github.com/justinlittman/fbarc.git
cd fbarc
pip install -r requirements/requirements3.txt
python fbarc.py -h

Использование (по README)​

# Сохранить ключи приложения (app id, app secret) в ~/.fbarc
python fbarc.py configure

# Получить граф страницы на два уровня вглубь
python fbarc.py graph page 1191441824276882 --levels 2 --pretty > page.jsonl

# Все доступные поля и связи узла
python fbarc.py metadata 1191441824276882 --pretty

# URL запроса к Graph API для узла по определению
python fbarc.py url page 1191441824276882

Ключи можно передать и через переменные окружения APP_ID, APP_SECRET. Для просмотра собранного JSON в README описан локальный просмотрщик fbarc_viewer.py.

Команды взяты из README последней версии репозитория (2018); работоспособность с текущим Graph API не проверялась.

Ограничения​

  • Проект в архиве и не обновляется.
  • Получение данных пользователей не поддерживается.
  • Инкрементальная архивация невозможна (Graph API этого не позволяет, по словам автора).
  • Доступ к публичному контенту чужих страниц требует разрешений, которые Meta выдаёт после проверки приложения.

Ресурсы​

Связанные материалы​