Forwarded from Национальный цифровой архив
Подготовлена бета версия утилиты командной строки 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
Утилита использует стандартное 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
GitHub
GitHub - ruarxive/wparc: Wordpress API data and files archival command line tool
Wordpress API data and files archival command line tool - GitHub - ruarxive/wparc: Wordpress API data and files archival command line tool
Я много писал про государство и технологии, всё больше про данные в предыдущий год и вот всё чаще про цифровые архивы. Может показаться что это не взаимосвязанные темы, но это не так. Веб архивы - это одна из форм данных очень большого объёма, полуструктурированных как правило, но тем не менее вполне подпадающих под задачи data science.
Один из примеров такого применения - это проект Archives Unleashed [1] его авторы создали множество инструментов того как представлять, обрабатывать, анализировать и иными способами работать с файлами веб архивов. Собственно их Archives Unleashed Toolkit (AUT) [2] это инструментарий по созданию инфраструктуры обработки WARC файлов с помощью Hadoop, Apache Spark, Jupiter Notebook и других инструментов работы с данными большого объёма.
Многие наборы данных были созданы с помощью AUT, также как и проведены многочисленные исследования [3]. Не стоит недооценивать эти инструменты, они весьма полезны исследователям современного мира и не только.
Ссылки:
[1] https://archivesunleashed.org/
[2] https://aut.docs.archivesunleashed.org/
[3] https://archivesunleashed.org/cohorts2022-2023/
#opendata #data #tools #opensource
Один из примеров такого применения - это проект Archives Unleashed [1] его авторы создали множество инструментов того как представлять, обрабатывать, анализировать и иными способами работать с файлами веб архивов. Собственно их Archives Unleashed Toolkit (AUT) [2] это инструментарий по созданию инфраструктуры обработки WARC файлов с помощью Hadoop, Apache Spark, Jupiter Notebook и других инструментов работы с данными большого объёма.
Многие наборы данных были созданы с помощью AUT, также как и проведены многочисленные исследования [3]. Не стоит недооценивать эти инструменты, они весьма полезны исследователям современного мира и не только.
Ссылки:
[1] https://archivesunleashed.org/
[2] https://aut.docs.archivesunleashed.org/
[3] https://archivesunleashed.org/cohorts2022-2023/
#opendata #data #tools #opensource
archivesunleashed.org
The Archives Unleashed Project
В рубрике полезных инструментов по работе с данными Mito [1], движок с открытым кодом встраивающийся в JupyterLab 2.0 и 3.0 и позволяющий работать с данными как если бы это был Excel или OpenRefine.
Фактически это lowcode инструмент по генерации кода на Python на основе манипуляций с датафреймом внутри тетрадки Jupyter. Как оказалось, очень удобная штука с большим числом пользователей.
Ссылки:
[1] https://www.trymito.io/
#data #datawranling #tools #datatools #opensource
Фактически это lowcode инструмент по генерации кода на Python на основе манипуляций с датафреймом внутри тетрадки Jupyter. Как оказалось, очень удобная штука с большим числом пользователей.
Ссылки:
[1] https://www.trymito.io/
#data #datawranling #tools #datatools #opensource
www.trymito.io
Best Python Spreadsheet Automation & Code Generation | Mito
Mito is the fastest way to do Python data science. Edit your data in a spreadsheet, and generate Python code automatically.
Forwarded from Национальный цифровой архив
Инструменты для цифровых архивистов. Определение типа файлов
При цифровой архивации, особенно данных и материалов которым много лет, очень часто возникают задачи понимания тех файлов и форматов которые изначально использовались. Без этого невозможно понять как воспроизводить такие архивные файлы, нужно ли их преобразовывать, существуют ли ещё поддерживающие их программные продукты.
Цифровые архивисты используют и создают инструменты для решения этой задачи .
- PRONOM - база форматов файлов от Национальных архивов Великобритании. Распространяются как открытые данные, используются многими инструментами
- DROID (Digital Record and Object Identification) - также утилита от Национальных архивов Великобритании по идентификации типов файлов
- Apache Tika - утилита и библиотека кода на языке Java для определения типов файлов и извлечения данных из определяемых типов файлов, например, файлов MS Office.
- Siegfried - утилита командной строки идентифицирующая типы файлов на основании базы сигнатур PRONOM и других источников
- TrID - утилита идентификации форматов файлов, бесплатна для частного использования
- NARA File Analyzer and Metadata Harvester - утилита анализа форматов и сбора метаданных от Национальных архивов США. Не обновлялась уже 6 лет.
Существует множество других инструментов для цифровых архивов, мы будем делать регулярные обзоры инструментов разной сложности и под разные задачи.
#tools #digitalpreservation #fileidentification
При цифровой архивации, особенно данных и материалов которым много лет, очень часто возникают задачи понимания тех файлов и форматов которые изначально использовались. Без этого невозможно понять как воспроизводить такие архивные файлы, нужно ли их преобразовывать, существуют ли ещё поддерживающие их программные продукты.
Цифровые архивисты используют и создают инструменты для решения этой задачи .
- PRONOM - база форматов файлов от Национальных архивов Великобритании. Распространяются как открытые данные, используются многими инструментами
- DROID (Digital Record and Object Identification) - также утилита от Национальных архивов Великобритании по идентификации типов файлов
- Apache Tika - утилита и библиотека кода на языке Java для определения типов файлов и извлечения данных из определяемых типов файлов, например, файлов MS Office.
- Siegfried - утилита командной строки идентифицирующая типы файлов на основании базы сигнатур PRONOM и других источников
- TrID - утилита идентификации форматов файлов, бесплатна для частного использования
- NARA File Analyzer and Metadata Harvester - утилита анализа форматов и сбора метаданных от Национальных архивов США. Не обновлялась уже 6 лет.
Существует множество других инструментов для цифровых архивов, мы будем делать регулярные обзоры инструментов разной сложности и под разные задачи.
#tools #digitalpreservation #fileidentification
www.nationalarchives.gov.uk
PRONOM | Welcome
PRONOM is an online technical registry providing impartial and definitive information about file formats, software products and other technical components required to support long-term access of electronic records.
Для тех кто любит работать (с данными) в командной строке хорошая подборка новых инструментов [1], как просто для работы, так и для работы с данными.
Мой личный список значительно шире, какие-то инструменты я писал сам, для наиболее частых задач, например, undatum утилита работы с JSON lines и BSON и другими форматами данных или lazyscraper для быстрого сбора данных с веб-страниц через командную строку.
Чувствую что надо составить собственный список, а в представленном списке выше есть немало того что стоит попробовать.
Ссылки:
[1] https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/
#opensource #tools #data #datatools
Мой личный список значительно шире, какие-то инструменты я писал сам, для наиболее частых задач, например, undatum утилита работы с JSON lines и BSON и другими форматами данных или lazyscraper для быстрого сбора данных с веб-страниц через командную строку.
Чувствую что надо составить собственный список, а в представленном списке выше есть немало того что стоит попробовать.
Ссылки:
[1] https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/
#opensource #tools #data #datatools
Julia Evans
A list of new(ish) command line tools
Свежий обзор The Modern Data Stack Ecosystem: Spring 2022 Edition [1] от Continual.ai, Конечно, как и все, они описывают Modern Data Stack с точки зрения их места в экосистеме, но, собственно и сам термин так активно используется стартапами именно для того чтобы показать позиционирование своего продукта. Удивительно что для MDS ещё нет холста в популярных системах проектирования вроде Miro и т.д.
Обзор полезный, например, автор отмечает отход от SQL-only подхода в преобразовании данных и в dbt рассматривают вариант включить поддержку non-SQL [2] и Snowflake рассматривают добавление Python-in-DB через Snowpark [3]
Главный недостаток именно этого обзора с слабом покрытии инструментов с открытым кодом, их там совсем немного упомянуто. Зато роли и применение продуктов стартапов довольно много.
Ссылки:
[1] https://continual.ai/post/the-modern-data-stack-ecosystem-spring-2022-edition
[2] https://roundup.getdbt.com/p/disjointed-lineage
[3] https://www.snowflake.com/blog/snowpark-is-now-generally-available/
#data #reading #tools #moderndatastack
Обзор полезный, например, автор отмечает отход от SQL-only подхода в преобразовании данных и в dbt рассматривают вариант включить поддержку non-SQL [2] и Snowflake рассматривают добавление Python-in-DB через Snowpark [3]
Главный недостаток именно этого обзора с слабом покрытии инструментов с открытым кодом, их там совсем немного упомянуто. Зато роли и применение продуктов стартапов довольно много.
Ссылки:
[1] https://continual.ai/post/the-modern-data-stack-ecosystem-spring-2022-edition
[2] https://roundup.getdbt.com/p/disjointed-lineage
[3] https://www.snowflake.com/blog/snowpark-is-now-generally-available/
#data #reading #tools #moderndatastack
continual.ai
The Modern Data Stack Ecosystem: Spring 2022 Edition
In this article, we take a peek at what is developing in the modern data stack ecosystem and summarize the main tools and vendors to consider when reaching for new functionality.
Яндекс выложили в открытый доступ систему управления базами данных YDB [1] с полным исходным кодом [2]. Эта распределенная SQL база данных, с собственным расширением языка SQL - YQL [3] и, в целом, выглядит любопытно.
Что стоит внимания:
- работа в кластере как часть системы
- обещанная простая масштабируемость
Что удивительно:
- база написана полностью на C++, хотя сейчас более популярно когда базы данных создаются на более высокоуровневых языках, в том числе и для того чтобы привлечь разработчиков которые хотят их изучать
- поддержка JSON и иерархических данных весьма скромная, по крайней мере документации об этом мало, хотя и упоминается
- вместо придумывания своего языка запросов расширяют SQL, что может быть и не плохо, просто +1 SQL диалект
- нет PostgreSQL или MySQL "совместимости из коробки", а это полезная фича которую декларируют многие новые СУБД и сервисы.
В целом база явно написана под высокие нагрузки, стоит пристального внимания и тестирования.
Ссылки:
[1] https://ydb.tech/
[2] https://github.com/ydb-platform/ydb
[3] https://ydb.tech/ru/docs/yql/reference/
#data #opensource #yandex #tools
Что стоит внимания:
- работа в кластере как часть системы
- обещанная простая масштабируемость
Что удивительно:
- база написана полностью на C++, хотя сейчас более популярно когда базы данных создаются на более высокоуровневых языках, в том числе и для того чтобы привлечь разработчиков которые хотят их изучать
- поддержка JSON и иерархических данных весьма скромная, по крайней мере документации об этом мало, хотя и упоминается
- вместо придумывания своего языка запросов расширяют SQL, что может быть и не плохо, просто +1 SQL диалект
- нет PostgreSQL или MySQL "совместимости из коробки", а это полезная фича которую декларируют многие новые СУБД и сервисы.
В целом база явно написана под высокие нагрузки, стоит пристального внимания и тестирования.
Ссылки:
[1] https://ydb.tech/
[2] https://github.com/ydb-platform/ydb
[3] https://ydb.tech/ru/docs/yql/reference/
#data #opensource #yandex #tools
ydb.tech
YDB — an open source Distributed SQL Database
YDB is an open source Distributed SQL Database that combines high availability and scalability with strong consistency and ACID transactions.
В рубрике полезных инструментов для работы с данными несколько обновлений
- spcrawler [1] утилита командной строки для выгрузки данных и файлов из открытых сайтов Sharepoint к которой я наконец-то нашёл время дописать документацию и выложил как открытый код. Предистория: в открытом доступе много сайтов на Sharepoint, некоторые государственные системы/сайты тоже сделаны нём. Эта утилита выгружает все данные доступные через API "/_api/web" для тех случаев когда такое API есть. Похоже на другую утилиту wparc - по архивации данных через API Wordpress, которую я ранее выкладывал.
- у утилиты undatum появилась команда query использующая mistql как язык запросов. Удобно при необходимости потоковой фильтрации данных при работе с JSON lines. Пока в экспериментальном режиме, функции незавершённые. Одна из идей в том чтобы реализовать полноценную команду запросов на многих языках, не только mistql, но и dictquery и ещё нескольких вариантах.
- у меня в планах написать гайд по apibackuper, утилите по архивации данных внутри API. Очень много примеров API по России и оказывается мало по миру, не могу быстро найти зарубежные недокументированные API.
- добавлены новые общедоступные правила к утилите идентфикации типов данных metacrafter, добавлены правила: intcodes.yaml - международные коды, boolean.yaml - булевые значения, orgs.yaml - организации, science.yaml - научные идентификаторы, vehicles.yaml - автомобили. Все они в категории common в репозитории. Напомню, что утилита является открытой и общедоступной как и базовые правила, а у нас внутри проходит бета тестирование сервис с расширенными правилами. Желающие могут использовать открытый код и сами писать правила под свои данные или привлечь нашу команду и мы применим расширенный свод правил + напишем под Ваши данные.
В ближайших планах собрать вместе открытый код + наработки по APICrafter'у и Datacrafter՛у и собрать продукт + сервис на международную и русскоязычную аудитории.
Ссылки:
[1] https://github.com/ruarxive/spcrawler
#opensource #tools #data
- spcrawler [1] утилита командной строки для выгрузки данных и файлов из открытых сайтов Sharepoint к которой я наконец-то нашёл время дописать документацию и выложил как открытый код. Предистория: в открытом доступе много сайтов на Sharepoint, некоторые государственные системы/сайты тоже сделаны нём. Эта утилита выгружает все данные доступные через API "/_api/web" для тех случаев когда такое API есть. Похоже на другую утилиту wparc - по архивации данных через API Wordpress, которую я ранее выкладывал.
- у утилиты undatum появилась команда query использующая mistql как язык запросов. Удобно при необходимости потоковой фильтрации данных при работе с JSON lines. Пока в экспериментальном режиме, функции незавершённые. Одна из идей в том чтобы реализовать полноценную команду запросов на многих языках, не только mistql, но и dictquery и ещё нескольких вариантах.
- у меня в планах написать гайд по apibackuper, утилите по архивации данных внутри API. Очень много примеров API по России и оказывается мало по миру, не могу быстро найти зарубежные недокументированные API.
- добавлены новые общедоступные правила к утилите идентфикации типов данных metacrafter, добавлены правила: intcodes.yaml - международные коды, boolean.yaml - булевые значения, orgs.yaml - организации, science.yaml - научные идентификаторы, vehicles.yaml - автомобили. Все они в категории common в репозитории. Напомню, что утилита является открытой и общедоступной как и базовые правила, а у нас внутри проходит бета тестирование сервис с расширенными правилами. Желающие могут использовать открытый код и сами писать правила под свои данные или привлечь нашу команду и мы применим расширенный свод правил + напишем под Ваши данные.
В ближайших планах собрать вместе открытый код + наработки по APICrafter'у и Datacrafter՛у и собрать продукт + сервис на международную и русскоязычную аудитории.
Ссылки:
[1] https://github.com/ruarxive/spcrawler
#opensource #tools #data
GitHub
GitHub - ruarxive/spcrawler: A command-line tool to backup Sharepoint public installations data from open API endpoint
A command-line tool to backup Sharepoint public installations data from open API endpoint - ruarxive/spcrawler
Я продолжаю писать на английском языке о инструментах для работы с данными которые делал последние несколько лет. Написал заметку [1] про утилиту APIBackuper используемую для извлечению данных из API. Не открою большого секрета если скажу что большая часть данных в DataCrafter[2] собрана с её помощью. Слишком многие данные в России доступны только как API.
Но в заметке пример сбора данных с недокументированного API аэропорта Берлина.
Ссылки:
[1] https://medium.com/@ibegtin/apibackuper-a-command-line-tool-to-archive-backup-data-api-calls-3eb0e98e1a3b
#tools #datatools #opensource #articles
Но в заметке пример сбора данных с недокументированного API аэропорта Берлина.
Ссылки:
[1] https://medium.com/@ibegtin/apibackuper-a-command-line-tool-to-archive-backup-data-api-calls-3eb0e98e1a3b
#tools #datatools #opensource #articles
Medium
APIBackuper: a command-line tool to archive/backup data API calls
A lot of data published as API, iterable by page or skip parameters API. Sometimes it’s documented, sometimes not, but quite often it’s…
Из свежего полезного чтения про оптимизацию работы с данными, заметка How to Build a Lossless Data Compression and Data Decompression Pipeline [1] о построении многопоточного компрессора bz2 на Python. Статья полезная, но лично мне так и хочется ехидно прокомментировать про то что "хипстеры обнаружили для себя многопоточность". Многопоточное сжатие и другие многопоточные операции это один из многих трюков отличающих общедоступные и коммерческие продукты по обработке данных. При правильно подобранном железе и иных оптимизациях оно даёт многократное ускорение.
При этом придумывать что-то своё совершенно необязательно. Есть реализация многопоточного Gzip на Python - pgzip [2] . Есть реализация многопоточности в python-zstandard [3] и это если только говорить про компрессию, а есть и другие многопоточные задачи используемые при обработке данных.
Другое чтение, про Software defined assets [4] про новый декларативный подход управления данными и оркестрацией от команды Dagster. Не могу сказать что с лёту мне удалось понять принципиальные преимущества подхода, но почитать точно стоит
Ссылки:
[1] https://python.plainenglish.io/lossless-data-compression-and-data-decompression-pipeline-2f5391a6b7e7
[2] https://github.com/pgzip/pgzip
[3] https://python-zstandard.readthedocs.io/en/latest/multithreaded.html
[4] https://dagster.io/blog/software-defined-assets
#readings #tools #datatools
При этом придумывать что-то своё совершенно необязательно. Есть реализация многопоточного Gzip на Python - pgzip [2] . Есть реализация многопоточности в python-zstandard [3] и это если только говорить про компрессию, а есть и другие многопоточные задачи используемые при обработке данных.
Другое чтение, про Software defined assets [4] про новый декларативный подход управления данными и оркестрацией от команды Dagster. Не могу сказать что с лёту мне удалось понять принципиальные преимущества подхода, но почитать точно стоит
Ссылки:
[1] https://python.plainenglish.io/lossless-data-compression-and-data-decompression-pipeline-2f5391a6b7e7
[2] https://github.com/pgzip/pgzip
[3] https://python-zstandard.readthedocs.io/en/latest/multithreaded.html
[4] https://dagster.io/blog/software-defined-assets
#readings #tools #datatools
Medium
How to Build a Lossless Data Compression and Data Decompression Pipeline
A parallel implementation of the bzip2 high-quality data compressor tool in Python.