Когда-то довольно давно размышляя об архивации материалов с сайтов у меня был тезис что архивация зависит от CMS сайта, к разным CMS и соответственно сайтам на их основе должны быть разные подходы, как минимум отличающиеся списки неиндексируемых веб-страниц и как максимум разные стратегии индексирования зависящие от приоритета контента:
Первый приоритет: веб-страницы и документы
Второй приоритет: изображения
Третий приоритет: видео и архивы, иной "тяжелый контент"
В архивационных инструментах вроде wpull это реализовывалось через списки игнорирования по регулярным выражениям. Способ действенный чтобы не собирать мусор, но не идеальный. Вебархивы пытаются воспроизвести веб интерфейс, не всегда отдавая приоритет контенту.
Для проверки гипотезы я подумывал сделать/заказать фрилансерам/организовать конкурс или хакатон с такими инструментами под разные CMS. Продвинулся тогда только с анализом типовых API каталогов данных что потом превратилось в Dateno где идет именно индексация датасетов через API.
Но несколько инструментов я все таки сделал и один из них wparc умеет архивировать содержимое сайтов на Wordpress. Дело в том что у сайтов на базе Wordpress по умолчанию есть REST API через интерфейс /wp-json через который можно получить контент страниц, постов, таксономий, файлов и иных материалов. Интерфейс этот держат открытым не на всех сайтах, но на очень многих.
Многие российские госсайты тоже использовали и используют Wordpress и этот инструмент я использовал во время нескольких архивационных кампаний для сохранения контента и файлов. Кроме того он косвенно является инструментом форенсики потому что часто на сайт загружают файлы которые через API доступны, а на веб-страницах уже нет (ссылки удаляют, файлы остаются), кроме того есть точки подключения API через которые отдают чувствительный контент.
Не буду показывать пальцем на организацию которая через такое API отдает всю инфу о подписчиках их рассылки.
Поэтому инструмент многосторонне полезный, но именно для цифровой архивации как приоритетное использование.
Мысли у меня когда-то были сделать что-то более универсальное и уметь архивировать сайты на Bitrix, Drupal и других популярных CMS'ках, но это было довольно давно и цифровая архивация для меня хобби (работа - это Dateno) и все наработки пошли на сбор данных для Dateno.
Тем не менее wparc весьма полезен а я для разгрузки головы в последнее время беру разный legacy код и привожу его в порядок и wparc также привел добавив туда опции анализа точек подключения к API.
Открытый код доступен, инструмент рабочий, пригодится еще не раз.
#opensource #digitalpreservation
Первый приоритет: веб-страницы и документы
Второй приоритет: изображения
Третий приоритет: видео и архивы, иной "тяжелый контент"
В архивационных инструментах вроде wpull это реализовывалось через списки игнорирования по регулярным выражениям. Способ действенный чтобы не собирать мусор, но не идеальный. Вебархивы пытаются воспроизвести веб интерфейс, не всегда отдавая приоритет контенту.
Для проверки гипотезы я подумывал сделать/заказать фрилансерам/организовать конкурс или хакатон с такими инструментами под разные CMS. Продвинулся тогда только с анализом типовых API каталогов данных что потом превратилось в Dateno где идет именно индексация датасетов через API.
Но несколько инструментов я все таки сделал и один из них wparc умеет архивировать содержимое сайтов на Wordpress. Дело в том что у сайтов на базе Wordpress по умолчанию есть REST API через интерфейс /wp-json через который можно получить контент страниц, постов, таксономий, файлов и иных материалов. Интерфейс этот держат открытым не на всех сайтах, но на очень многих.
Многие российские госсайты тоже использовали и используют Wordpress и этот инструмент я использовал во время нескольких архивационных кампаний для сохранения контента и файлов. Кроме того он косвенно является инструментом форенсики потому что часто на сайт загружают файлы которые через API доступны, а на веб-страницах уже нет (ссылки удаляют, файлы остаются), кроме того есть точки подключения API через которые отдают чувствительный контент.
Не буду показывать пальцем на организацию которая через такое API отдает всю инфу о подписчиках их рассылки.
Поэтому инструмент многосторонне полезный, но именно для цифровой архивации как приоритетное использование.
Мысли у меня когда-то были сделать что-то более универсальное и уметь архивировать сайты на Bitrix, Drupal и других популярных CMS'ках, но это было довольно давно и цифровая архивация для меня хобби (работа - это Dateno) и все наработки пошли на сбор данных для Dateno.
Тем не менее wparc весьма полезен а я для разгрузки головы в последнее время беру разный legacy код и привожу его в порядок и wparc также привел добавив туда опции анализа точек подключения к API.
Открытый код доступен, инструмент рабочий, пригодится еще не раз.
#opensource #digitalpreservation
👍9❤3
Я как то уже рассуждал здесь и вслух о том что ИТ профессии часто формируют устойчивые когнитивные искажения, например, когда все окружающее воспринимается как таблицы или как данные, лично я считаю что в этом нет ничего зазорного и сам иногда впадаю в состояние автоматического построения структур данных в голове и доведение их до 3NF.
Но то что кто-то может назвать когнитивным искажением, можно назвать и способом взгляда на те или иные явления. И вот один из таких способов восприятия реальности - это смотреть на все как на список. Список дел, список строк в файле, список записей в БД и так далее. А если по списку можно проходить и что-то делать с тем что в нем находится то он является перебираемым или на английском языке iterable.
Собственно под восприятия мира данных того что большая часть структур данных, форматов дата файлов и тд - это перебираемые списки я когда-то создал, а недавно обновил библиотеку iterabledata для Python.
Изначально она создавалась для того чтобы реализовать для JSON/JSON lines файлов логику перебора содержимого по принципу csv.DictReader, стандартной библиотеки в Python в которой перебираемые объекты возвращаются как словари. Заодно добавив к этому что чаще всего эти файлы с данными сжаты чем-то Gzip, LZMA, Zstandard и тд.
А в этот раз я обновил эту библиотеку для большей универсальности и поддержки десятков новых форматов данных DBF, JSON-LD, KML, GML, CSVW, Annotated CSV, MessagePack и еще много, полный список.
Включая некоторые экзотические форматы такие как WARC для веб-архивации, которые тоже можно рассматривать как объекты со списками для перебора.
А в качестве наглядного примера, преобразование дампа Википедии из сжатого XML в Parquet.
Особенность Iterable Data именно в универсальности инструмента, но не в скорости обработки данных. Для супербыстрой обработки, например, CSV файлов есть и другие инструменты, но CSV лишь один из десятков встречающихся форматов данных.
Так что инструмент полезный и обновлялся мной сейчас в контенте задач в Dateno, в открытые репозитории которого я и перенес его из личных пэт проектов.
#opensource #dateno #datatools #dataengineering
Но то что кто-то может назвать когнитивным искажением, можно назвать и способом взгляда на те или иные явления. И вот один из таких способов восприятия реальности - это смотреть на все как на список. Список дел, список строк в файле, список записей в БД и так далее. А если по списку можно проходить и что-то делать с тем что в нем находится то он является перебираемым или на английском языке iterable.
Собственно под восприятия мира данных того что большая часть структур данных, форматов дата файлов и тд - это перебираемые списки я когда-то создал, а недавно обновил библиотеку iterabledata для Python.
Изначально она создавалась для того чтобы реализовать для JSON/JSON lines файлов логику перебора содержимого по принципу csv.DictReader, стандартной библиотеки в Python в которой перебираемые объекты возвращаются как словари. Заодно добавив к этому что чаще всего эти файлы с данными сжаты чем-то Gzip, LZMA, Zstandard и тд.
А в этот раз я обновил эту библиотеку для большей универсальности и поддержки десятков новых форматов данных DBF, JSON-LD, KML, GML, CSVW, Annotated CSV, MessagePack и еще много, полный список.
Включая некоторые экзотические форматы такие как WARC для веб-архивации, которые тоже можно рассматривать как объекты со списками для перебора.
А в качестве наглядного примера, преобразование дампа Википедии из сжатого XML в Parquet.
Особенность Iterable Data именно в универсальности инструмента, но не в скорости обработки данных. Для супербыстрой обработки, например, CSV файлов есть и другие инструменты, но CSV лишь один из десятков встречающихся форматов данных.
Так что инструмент полезный и обновлялся мной сейчас в контенте задач в Dateno, в открытые репозитории которого я и перенес его из личных пэт проектов.
#opensource #dateno #datatools #dataengineering
👍10✍4❤2❤🔥1👌1🗿1