Национальный цифровой архив
2.38K subscribers
41 photos
4 files
113 links
Всё о цифровой архивации, спасении digital-born контента, архивации гибнущих сайтов и иных цифровых объектов. Сайт: https://ruarxive.org/

Чат @ruarxivechat

Проект Информационной культуры @infoculture
Контакт @ibegtin Иван Бегтин
Download Telegram
Подготовлена бета версия утилиты командной строки wparc [1] архивации данных из сайтов Wordpress.

Утилита использует стандартное API предоставляемое CMS Wordpress и доступной по адресу /wp-json/. Поскольку на Wordpress работает огромное число сайтов СМИ и личных сайтов, то утилита будет необходима для получения быстрых дампов данных, значительно быстрее чем классические веб-краулеры.

Подробнее о структурах данных можно прочитать в документации Wordpress REST API [2].

Утилита поддерживает две команды:
- dump - выгрузить все данные через обход точек подключения к API, результатом являются файлы в форматах .json и .jsonl
- getfiles - выгрузка всех медиа файлов перечисленных в файле wp_v2_media.jsonl полученного после исполнения команды dump

Примеры сайтов на Wordpress: duma-rad.ru, www.iephb.ru, paperpaper.ru, agentura.ru и многие другие.

Ограничения:
- некоторые владельцы сайтов на Wordpress блокируют доступ к /wp-json/ без авторизации и из этих сайтов невозможно пока извлечь данные
- у старых версий версий Wordpress отсутствует точка подключения /wp-json/ и также невозможно скачать данные таким способом.

В будущем утилита будет поддерживать команды проверки сайта на возможность выгрузки данных, упаковывать их в пакет данных (data package) для долгосрочного сохранения и поддерживать выгрузку данных из Wordpress даже без доступного API (по определенным шаблонам этой CMS).

Найденные ошибки заполняйте в issues репозитория проекта wparc [3]

Ссылки:
[1] https://github.com/ruarxive/wparc
[2] https://developer.wordpress.org/rest-api/
[3] https://github.com/ruarxive/wparc/issues

#wordpress #webarchives #digitalpreservation #opensource #tools
Для тех кто готов помогать с архивацией сайтов, мы начали собирать задачи в которых нужна помощь. Большая часть задач являются техническими, например, по сбору сайтов порталов и разделов с открытыми данными в России [1] и по развитию инструментов архивации данных из API [2]․

Общий список задач оформлен в виде проекта на Github [3], новые задачи по остальным проектам будут собраны там же.

Сейчас у нас больше задач технических, но если Вы видите какие-то пробелы или необходимость в инструментах/проектах/работах по архивации, то пишите в чате к этому каналу, обязательно их учтём.

Ссылки:
[1] https://github.com/ruarxive/rudatarchive/issues
[2] https://github.com/ruarxive/apibackuper/issues
[3] https://github.com/orgs/ruarxive/projects/1/views/1

#digitalpreservation #opensource #ruarxive
Национальный цифровой архив
Началась кампания по архивации материалов с веб-сайтов избирательных комиссий муниципальных образований (ИКМО). Что случилось? 14 марта 2022 г. были внесены поправки законом №60-ФЗ в закон №67-ФЗ, согласно которым был упразднен институт ИКМО. Что значит:…
Как сохранять исходный код? Как сохранять код публичных репозиториев, который может исчезнуть, например, в связи с закрытием организации или проектов?

Проект Software Heritage [1] специализируется на архивации всего общедоступного исходного кода. Сбор кода осуществляется автоматически, используя такие системы контроля версий, как Git, Mercurial, Subversion и Bazaar. Проект уже охватывает крупнейшие платформы с исходным кодом, а также позволяет самостоятельно добавлять туда репозитории с помощью сервиса «Save code now» [2].

А в июне добавился новый сервис «Add forge now» [3] для добавления новых источников открытого кода — платформ на базе Gitlab, Bitbucket, Gitea, cgit, Hectapod и других подобных продуктов.

Ссылки:
[1] https://softwareheritage.org
[2] https://archive.softwareheritage.org/save/
[3] https://archive.softwareheritage.org/add-forge/request/create/

#digitalpreservation #opensource #sourcecode
Forwarded from Ivan Begtin (Ivan Begtin)
В рубрике интересных наборов данных Bible geocoding data [1] набор данных по геокодированию мест упомянутых в библии. Автор занимался этим с 2007 года и в прошлом году существенно обновил предыдущую работу. О самой инициативе и данные для Google Earth в формате KMZ есть на его сайте [2] и там же у него на сайте OpenBible разного рода эксперименты по визуализации [3].

Из весьма интересного - это AI-Assisted Bible Study [4] суммаризатор ответов и вопросов по главам библии через использование ИИ.

В данном случае библия важный пример, но сам подход ей не ограничивается. Один из путей/способов развития цифровой гуманитаристики - это подходы "всё-код" и "всё-данные". Любое художественное, религиозное или документальное произведение можно рассматривать как базу данных. Можно, например, геокодировать "Войну и мир", превращать в граф знаний "Властелин колец" и остальные произведения Толкиена, проводить интерактивную реконструкцию исторических событий. О многих подобных проектах я пишу время от времени [5].

Важное отличие современных проектов в этой области - это открытость данных и кода. Открытые проекты позволяют создавать новые проекты/продукты/исследования на их основе.

Ссылки:
[1] https://github.com/openbibleinfo/Bible-Geocoding-Data
[2] https://www.openbible.info/geo/
[3] https://www.openbible.info/labs/
[4] https://www.openbible.info/labs/ai-bible-study/
[5] https://t.iss.one/begtin/4147

#datasets #opensource #opendata #digitalhumanities
Forwarded from Ivan Begtin (Ivan Begtin)
В рубрике полезных инструментов работы с данными, я выложил в открытый доступ очередную маленькую утилиту filegetter [1] для проектов цифрового архива (ruarxive.org, телеграм канал @ruarxive).

Утилита делалась когда-то для тех случаях когда в файле набора данных есть ссылки на какие-то файлы, например, PDF/DOC документы или изображения или ещё что-то что надо собрать вместе с набором данных. Такие файлы можно собирать разными способами, например, набором скриптов для командной строки или из скрипта на любом скриптовом языке. Но в какой-то момент это стало довольно неудобно каждый раз писать программу на на сто строк кода, когда можно было бы описать правила в 5 строках конфигурационного файла.

Поэтому на базе другой утилиты, apibackuper [2], созданной для архивации данных в API была быстро сделана эта утилита которая так и пролежала почти год пока у меня не нашлось немного времени сделать к ней документацию и примеры.

Так вот примеры:
- выгрузка файлов приложенных к проекту бюджета с сайта Госдумы [3]
- выгрузка отчетов политических партий с сайта ЦИК РФ [4]
- выгрузка изображений из каталога музейного фонда [5]

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

Главное применение - архивация сопутствующих файлов привязанных к наборам данных.

В итоге, рано или поздно, хочется это упаковать в связанные между собой инструменты для цифровой архивации. Их по отдельности уже много: архивация Wordpress, API, файлов, веб-сайтов, телеграм и других цифровых объектов и типов источников данных и контента.

Ссылки:
[1] https://github.com/ruarxive/filegetter
[2] https://github.com/ruarxive/fapibackuper
[3] https://github.com/ruarxive/filegetter/tree/main/examples/budget2023
[4] https://github.com/ruarxive/filegetter/tree/main/examples/rupolitparties
[5] https://github.com/ruarxive/filegetter/tree/main/examples/goskatalog

#opendata #digitalpreservation #webarchives #opensource
Forwarded from Ivan Begtin (Ivan Begtin)
Я ранее регулярно рассказывал как работать с веб-архивами и про инструменты которые мы создаём для работы с ними. За пару отпускных дней удалось вернуться к давним планам по улучшению инструментов по работе с ними и пора рассказать о развитии инструмента metawarc [1].

Metawarc - это утилита командной строки созданная изначально для задач цифрового дознания, сбора данных из архивов веб- сайтов. Я лично активно её применял в задачах исследований/расследований, вроде "Государство как пират" [2] о том как косвенные следы пиратского ПО находятся в документах на сайтах госорганов.

Эта утилита работает с WARC файлами, слепками веб-сайтов которые умеют создавать такие инструменты как wget, wpull, Heritrix и другие краулеры веб-сайтов из так называемой экосистемы WARC.

Изначальные функции инструмента были в том чтобы заглянуть в содержание WARC файла, перебрать каждую запись, найти попадающие под типы офисных документов и из каждого офисного документа (.doc, .docx, .xls и других) извлечь кто его создал, какая компания, когда и тд. Задача которая относится скорее к цифровому дознанию чем к цифровой архивации. Цифровое дознание (digital forensic) - это, в принципе, одно из применений веб-архивов и цифровых архивов в принципе.

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

Поэтому утилиту я, наконец-то, обновил изменив команду index, теперь она не генерирует JSON файл с метаданными, а создает базу SQLite куда эти метаданные кладет. Это не метаданные внутри офисных файлов, но метаданные HTTP запросов и параметров записей в WARC. Их использование сильно ускоряет другие задачи, например, это новые команды поддерживаемые metawrc - dump, stats, list, export

Команда stats выводит статистику по числу записей в WARC файле в разрезе расширений файлов или типов контента (mime)

Команда list позволяет листать записи в WARC файле передавая в качестве параметров список расширений, список типов контента или запрос к SQLite базе данных (кусок SQL запроса после WHERE).

Команда dump работает как list, но для сохранения выбранный файлов в отдельную папку. Поскольку не все файлы в WARC можно сохранять с полным путем, то файлы сохраняются каждый с уникальным идентификатором и к ним прилагается список файлов с соответствием каждого файла ссылке в WARC файле.

Команда export позволяет выгружать содержимое WARC файла в машиночитаемом виде. Она даёт возможности экспортировать заголовки из WARC файла в формате JSON lines и содержимое HTML страниц для полнотекстового индексирования, например, с помощью Opensearch, Elastic или Meilisearch.

Инструмент будет полезен всем кто изучает веб сайты, работает с архивами в формате WARC и создает их. Желающие могут воспользоваться, к примеру, архивами сайтов Мемориала [3] или архивами сайтов Роснано [4] которые мы сохраняли в @ruarxive в 2021 году.

Ошибки, идеи и предложения пишите в Issues на github [5]

Ссылки:
[1] https://github.com/datacoon/metawarc
[2] https://begtin.tech/government-piracy/
[3] https://cdn.ruarxive.org/public/webcollect2021/memorial2021/
[4] https://cdn.ruarxive.org/public/webcollect2021/rusnano2021/
[5] https://github.com/datacoon/metawarc/issues

#opensource #webarchives #digitalpreservation #opendata
Интересное мероприятие Software Source Code as documentary heritage организованное ЮНЕСКО совместно с французским некоммерческим проектом Software Heritage о сохранении исходного кода.
Там много интересных докладов, например, об организации хранения петабайтов в человеческом ДНК и о том сжатии огромных объёмов открытого кода.
Но важнее то что открытый код рассматривается как часть культурного/цифрового наследия человечества.

https://webcast.unesco.org/events/2023-02-07-software-heritage/

#opensource #opendata #software
Для тех кто работает с файлами в WARC формате (большая часть сайтов в ruarxive хранятся в нём) ещё одна утилита по работе с ними. Warchaeology [1]. Утилита создана в Национальной библиотеке Норвегии и позволяет:
- конвертировать форматы ARC, WARC и Nedlib
- листать WARC файлы
- удалять дубликаты файлов
- валидировать содержание WARC файлов
- предоставлять оболочку по работе с WARC файлами

Инструмент полезный, может пригодится тем кто любит работать в командной строке. Я также напомню про библиотеку и утилиту командной строки WarcIO [2] с функциями извлечения и пересжатия содержимого WARC файлов и разработанную мной когда-то утилиту MetaWARC [3] которая тоже умеет извлекать контент из WARC файлов и ещё индексировать их в sqlite и считать статистику и даже извлекать метаданные из вложенных файлов.

Больше инструментов полезных и разных! Если Вы знаете хорошие инструменты с открытым кодом для цифровой архивации, пишите нам, будем делать их обзоры.

Ссылки:
[1] https://github.com/nlnwa/warchaeology
[2] https://github.com/webrecorder/warcio
[3] https://github.com/datacoon/metawarc

#tools #opensource #digitalpreservation #webarchives #WARC #software